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

Автор работы: Пользователь скрыл имя, 27 Декабря 2011 в 17:04, дипломная работа

Краткое описание

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

Содержимое работы - 1 файл

ДипломЛесовцев.docx

— 625.65 Кб (Скачать файл)

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

   2.4 РАЗРАБОТКА ВЕБ-ИНТЕРФЕЙСА

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

         В любой базе данных имеются пользователи с разными правами доступа  к данным, и наша БД не исключение. Разработаем страницу входа в систему. На ней должна находится форма авторизации с полями «Имя пользователя», «Пароль», а также кнопка входа в систему, которая обрабатывает данные из полей и по результатам разрешает вход в систему или отказывает. На рисунке ниже (2.4.1) приведена получившаяся страница. 

Рис. 2.4.1 Страница входа в систему. 

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

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

Рис. 2.4.2 Страница отказа входа в систему 

Рис. 2.4.2 Главное меню системы (вход выполнен от пользователя с правами администратора) 

Рис. 2.4.3 Главное меню программы (вход выполнен от пользователя с правами доступа  к таблице «Организации») 

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

      Теперь  пройдем по всем ссылкам таблиц и  перечислим основные функции и отдельные  моменты работы системы.

      Начнем  с таблицы «Организации». При  переходе по ссылке открывается окном с иерархическим списком организаций: сначала отображается головной офис, затем ниже идут филиалы, подчиняющиеся данной организации. На странице также есть обработчики: «Добавить новую организацию», «Назад» и «На главную». Целесообразность по сути одинаковых обработчиков «Назад» и «На главную» обусловлена тем, что обработчик «Назад» содержит в себе данные страницы, с которой мы пришли к списку организаций. Такие данные содержатся с суперглобальном массиве PHP $_SERVER[‘HTTP_REFERER’]. Дело в том, что попасть к списку организаций в системе можно с нескольких страниц. Обработчик же «На главную» содержит прямую ссылку в главное меню системы. Такое же решение было принято для всех страниц, на которых имеются эти два обработчика. 

Рис. 2.4.5 Список организаций 

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

Рис. 2.4.6 Информация об организации 

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

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

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

Выбор какого-либо способа в данной ситуации ни на что не влияет. Было принято решение  использовать второй способ. 

Рис. 2.4.8 Отделы 

      Информация  об отделах также представлена иерархическим  списком, в голове которого выступает  так называемое подразделение первого  уровня: это значит, что в составе  данного подразделения находятся  несколько подотделов, занимающихся похожими делами. На рисунке 2.4.8 мы видим  подразделение первого уровня ИТ (отдел Информационных технологий»), в составе которого находятся подотделы технической поддержки, системного администрирования и программирования. На странице присутствуют обработчики «Назад», «На главную», «К организациям» (отправляет к информации об организации, за которой закреплены данные отделы) и «Добавить новый отдел».

      Стоит обратить внимание, как строится список отделов, если открыть его с главной  страницы меню: 

Рис. 2.4.8 Список отделов по организациям 

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

2.4.9 Список  должностей

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

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

      Обработчик  «К отделам» отправляет нас к главному списку отделу по организациям.

      Настало время осветить самую объемную таблицу  нашей БД «Сотрудники», а также дополнительные таблицы с информацией о сотрудниках.

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

Рис. 2.4.10 Список сотрудников 

      Имена сотрудников отображаются в виде ссылок, при переходе по которым  открывается информация о сотруднике. Также присутствуют обработчики  добавления нового сотрудника и «удаления» сотрудника.

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

Рис. 2.4.11 Архив сотрудников 

      Информация  о сотрудниках представлена тремя  страницами:

- сотрудник –  основная информация о сотруднике;

- образование  – информация об образовании  сотрудника и владении языками;

- стаж – другие  места работы. 

Рис. 2.4.12 Основная информация о сотруднике 

Рис. 2.4.13 Образование и языки 

Рис. 2.4.14 Другие места работы 

      Настало время поговорить о самой значительной технологии, используемой в системе: AJAX.

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

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

Рис. 2.4.15 Форма добавления сотрудника (на рисунке видно, что список отделов пуст)

Рис. 2.4.16 После выбора организации список отделов заполнился автоматически

Рис. 2.4.17 После выбора отдела список должностей заполнился автоматически 

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

      В таблицах «Тип образования», «Языки», «Тип ставки» и «Пол сотрудников» также используется технология AJAX. Информация на страницах этих таблиц отображается в виде таблиц. Описывать все таблицы смысла нет, поэтому приведем пример на странице «Языки». 

Рис. 2.4.18 Языки

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

Рис. 2.4.19 Загруженная форма добавления языка

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

Рис. 2.4.20 Обновленная таблица языков

      Такие фоновые запросы отправляются на сервер в случае редактирования или  удаления языка. 
 
 
 
 
 
 
 
 
 
 

ВЫВОДЫ

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

      Система разработана и готова к тестированию в реальных условиях. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ЗАКЛЮЧЕНИЕ

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

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

      В процессе выполнения дипломного проекта  были достигнуты следующие цели:

     - спроектирована модель базы данных;

    - спроектирована  логическая модель ввода/вывода  информации для  базы данных;

    - построен  и реализован комплекс по управлению  информацией в базе данных;

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

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

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

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