Разработка информационной системы "Отдел кадров" с использованием клиент-серверной технологии

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 02.09.2021
Размер файла 1,6 M

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

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

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

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

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

Курсовая работа

по дисциплине «Базы данных»

Разработка информационной системы «Отдел кадров» с использованием клиент-серверной технологии

Курск 2020

План

программный информационный интерфейс

  • Введение
  • 1. Проектирование информационной системы
    • 1.1 Проектирование информационного обеспечения
    • 1.2 Проектирование программного обеспечения
  • 2. Разработка информационной системы
    • 2.1 Разработка информационного обеспечения
    • 2.2 Разработка программного обеспечения
  • 3. Тестирование информационной системы
    • 3.1 Пользовательский интерфейс
  • Заключение
  • Список используемых источников

Введение

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

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

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

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

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

Исходя из цели можно выделить следующие задачи:

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

2. Проектирование БД в исследуемой предметной области;

3. Реализация спроектированной БД;

4. Проектирование и разработка win-приложения и web-приложения;

5. Тестирование разработанных приложений;

1. Проектирование информационной системы

Проектирование информационных систем - это упорядоченная совокупность методологий и средств создания или модернизации информационных систем [4, стр. 9]. Оно делится на две основные части: проектирование информационного обеспечения и проектирование программного обеспечения.

1.1 Проектирование информационного обеспечения

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

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

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

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

При работе с системой должна иметься возможность решать следующие задачи:

1. Ввод и изменение данные о сотрудниках

2. Удаление сотрудников

3. Доступ к рабочим данным сотрудника

4. Добавление и редактирование данных о должностях

5. Добавление и редактирование данных об отделах

Хранящиеся персональные данные о каждом сотруднике:

1. Уникальный код сотрудника;

2. Фамилия;

3. Имя;

4. Отчество;

5. Адрес;

6. Телефон;

7. Пол.

Данные об образовании буду хранится отдельно:

1. Уникальный код образования;

2. Код сотрудника;

3. Наименование специальности;

4. Номер документа;

Каждый сотрудник работает на определенной должности. О каждой должности содержится следующая информация:

1. Уникальный код должности;

2. Наименование должности;

3. Заработная плата.

Каждая сотрудник относится к какому-то отделу. Об отделах хранится следующая информации:

1. Уникальный код отдела;

2. Наименование отдела;

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

1. Данные о сотруднике;

2. Данные о должности;

3. Данные об отделе;

4. Стаж (может отсутствовать);

5. Дата найма;

6. Дата увольнения (отсутствует до увольнения).

Предусмотреть следующие ограничения на информацию в системе:

1. У сотрудника может отсутствовать образование;

2. У сотрудника может отсутствовать стаж;

3. У действующих сотрудников отсутствует дата увольнения;

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

1. Сотрудники отдела кадров;

2. Руководители и заместители руководителей отделов.

Инфологическое проектирование БД. Инфологическое (концептуальное) проектирование БД - это процесс построения семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Инфологическое проектирование базы данных не зависит от таких подробностей ее реализации, как тип выбранной СУБД, набор создаваемых прикладных программ, используемые языки программирования, тип вычислительной системы

Исходя из данных, полученных при системном анализе, определяются необходимые сущности системы:

1. Сотрудник;

2. Образование;

3. Должность;

4. Отдел;

5. Служебная информация.

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

Ниже, на Рис. 1 представлена инфологическая модель БД.

Рисунок 1. Инфологическая модель БД

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

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

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

Рисунок 2. Даталогическая модель БД

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

1.2 Проектирование программного обеспечения

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

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

В данной работе выбор и сравнение будет производиться из наиболее популярных СУБД:

1. MySQL

2. Oracle

3. PostgreSQL

MySQL - это реляционная система управления базами данных с открытым исходным кодом. В настоящее время эта СУБД одна из наиболее популярных в веб-приложениях. Из преимуществ стоит отметить простоту использования, гибкость, низкую стоимость владения (относительно платных СУБД), а также масштабируемость и производительность. Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Есть и другие типы таблиц, разработанные сообществом. Продукт распространяется как под GNU GPL, так и под собственной коммерческой лицензией. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то и эта программа тоже должна распространяться по лицензии GPL. Для нежелающих открывать исходные тексты своих программ как раз предусмотрена коммерческая лицензия. MySQL не позволяет корректно применять регулярные выражения (операторы REGEXP и RLIKE) на строках в многобайтовых кодировках, например, для Юникода (UTF-8). При необходимости таких операций приходится переходить на однобайтовые кодировки, например, русскую Win-1251 или KOI-8.

Oracle - объектно-реляционная система управления базами данных компании Oracle. На сегодняшний день СУБД Oracle поддерживают свыше 80 вариантов операционной среды в широком диапазоне, включая мэйнфреймы IBM, мини-компьютеры DEC VAX, UNIX, Windows и множество других платформ. Другой важной характеристикой является поддержка Oracle всех возможных вариантов архитектур, в том числе симметричных многопроцессорных систем, кластеров, систем с массовым параллелизмом и других. Очевидна значимость этих характеристик для крупномасштабных организаций, где эксплуатируется множество компьютеров различных моделей и производителей. Одна из отличительных особенностей сервера Oracle - возможность хранения и обработки различных типов данных. Данная функциональность интегрирована в ядро СУБД и поддерживается модулем interMedia в составе Oracle Database. Он обеспечивает работу с текстовыми документами, включая различные виды поиска, в том числе контекстного; работу с графическими образами более 20-ти форматов; работу с аудио и видеоинформацией. Недостатком данной СУБД является относительно высокая стоимость лицензии и высокие требования к оборудованию, на котором развёртывается Oracle.

PostgreSQL - является одним из нескольких бесплатных популярных вариантов СУБД, часто используется для ведения баз данных веб-сайтов. Это была одна из первых разработанных систем управления базами данных, поэтому в настоящее время она хорошо развита, и позволяет пользователям управлять как структурированными, так и неструктурированными данными. Данная СУБД запускается на всех основных платформах, включая Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), и Windows. Она полностью соответствует ACID, имеет полную поддержку ключей, объединений, представлений, триггеров, и хранимых процедур (на разных языках). PostgreSQL также включает в себя большинство типов данных SQL92 и SQL99, включая integer, numeric, boolean, char, varchar, date, interval, и timestamp. Она также поддерживает хранение больших двоичных объектов (BLOB's), включая медиафайлы. Она имеет API для C/C++, Java, Perl, Python, Ruby, Tcl, ODBC. СУБД PostgreSQL поддерживает международные кодировки, в том числе и многобайтовые, при использовании различных кодировок можно использовать сортировку и полнотекстовый поиск, различать регистр. Кроме того, исходный код доступен под наиболее либеральной из открытых лицензий - лицензией BSD, которая позволяет свободно использовать, модифицировать и распространять PostgreSQL в любой форме.

После анализа преимуществ и недостатков рассмотренных СУБД для реализации проекта была выбрана PostgreSQL, так как она распространяется по свободной лицензии и является кроссплатформенной.

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

В данной работе инструментальные средства для разработки ПО делятся на три категории по областям применения. К первой категории относятся средства, с помощью которых осуществляется разработка серверной части ИС. К ним относится СУБД PotgreSQL, а также интерфейс взаимодействия с ней pgAdmin4. Ко второй и третьей категории относятся средства, которые позволяют создавать клиентские приложения.

Серверная часть web-интерфейса будет разрабатываться при помощи языка программирования PHP, в среде разработки «Visual Studio Code». Представительская часть реализована с помощью связки технологий HTML/CSS/JS, для удобства и повышения скорости разработки задействован фреймворк. Web-приложение будет расположено непосредственно на web-сервере.

Для создания win-приложения системы будет использоваться «Microsoft Visual Studio 2019» при помощи языка программирования C#.

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

Макет для web-приложения (рис. 3.):

Рисунок 3. Макет web-приложения

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

Теперь проектируется макет для win-приложения (рис. 4):

Рисунок 4. Макет win-приложения

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

2. Разработка информационной системы

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

2.1 Разработка информационного обеспечения

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

Физическое проектирование БД. На основе созданной в 1-й главе логической модели БД создается физическая модель.

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

На (Рис. 5) показана физическая модель БД, отражены связи сущностей с помощью первичных и вторичных ключей. У каждого атрибута каждой сущности определен тип. Следующим этапом необходимо перейти к программированию на стороне SQL-сервера.

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

На Рис. 6 представлено создание базы данных.

Рисунок 6. Создание базы данных в pgAdmin4

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

Рисунок 7. Создание домена

Затем создаются таблицы. На Рис. 8 представлен пример создания таблицы с помощью интерфейса pgAdmin4.

Рисунок 8. Создание таблицы

Соответствие доменов с таблицами можно увидеть в Приложении А.

После создания всех таблиц, их нужно связать внешними ключами (Рис. 9).

Рисунок 9. Задание внешнего ключа

Подобным образом создаются связи между всеми таблицами в базе. Затем таблицы заполняются данными (Рис. 10).

Рисунок 10. Заполнение таблицы

Разработка бизнес-логики на стороне SQL-сервера.

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

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

Пример создания представления для просмотра работников в таблице service_view представлен в Листинге 1.

Листинг 1 - Создание представления для просмотра работников

CREATE OR REPLACE VIEW public.service_view AS SELECT w.last_name, w.first_name, dp.department_name, string_agg (ed.specialty:text, ', ':text) AS specialty, pt.post_name, si.arranged, si.fired, si.expirience, pt.salary FROM worker w, post pt, service_information si, education ed, department dp

WHERE w.id_worker = si.id_worker AND si.id_post = pt.id_post AND si.id_department = dp.id_department AND ed.id_worker = w.id_worker

GROUP BY w.id_worker, dp.department_name, pt.post_name, pt.salary, si.arranged, si.fired, si.expirience;

Данное представление выводит данные из таблицы service_information.

Хранимая процедура - объект базы данных, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере, благодаря чему выполняется быстрее, чем обычный запрос. [2] Пример создания процедуры показан в Листинге 2.

Листинг 2 - Процедура поиска работника по фамилии

CREATE FUNCTION search_w (inp_str character varying)

RETURNS setof search_worker AS $BODY$

declare

begin

return query select * from search_worker where last_name ilike ' % ' || $1 || ' % ' or first_name ilike ' % ' || $1 || ' % ';

end;$BODY$;

LANGUAGE plpgsql;

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

2.2 Разработка программного обеспечения

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

Создание Win-приложения. В качестве среды разработки для Windows в данной работе была выбрана Visual Studio 2019 и язык программирования C# с платформой.NET. для связи БД и приложения используется ODBC PostgreSQL драйвер. Информацию об источниках данных ОС Windows хранит в реестре. Обращение к БД происходит по имени зарегистрированного источника данных Data Source Name.

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

Внешний вид созданной формы, вкладка «Работник» (рис. 11).

Рисунок 11. Форма вкладки «Работник»

Код функции добавления «Должности»:

Листинг 3 - Функция добавления данных в таблицу работников private void button1_Click (object sender, EventArgs e)

{

System. Data. Odbc. OdbcConnection sqlConnection1 = workerTableAdapter. Connection;

System. Data. Odbc. OdbcCommand cmd = new System. Data. Odbc. OdbcCommand();

cmd. CommandType = System. Data. CommandType. Text;

cmd. CommandText = «SELECT adding_worker ('» + textBox1. Text + «', '» +

textBox2. Text + «', '» +

textBox3. Text+ «', '» +

textBox4. Text+ «', '» +

textBox5. Text+ «', '» +

textBox6. Text + «')»;

cmd. Connection = sqlConnection1;

sqlConnection1. Open();

cmd. ExecuteNonQuery();

sqlConnection1. Close();

workerTableAdapter. Fill (dataSet1.worker);

textBox1. Text = «»;

textBox2. Text = «»;

textBox3. Text = «»;

textBox4. Text = «»;

textBox5. Text = «»;

textBox6. Text = «»;

}

Проверка правильности подключения базы данных представлена на Рис. 12.

Рисунок 12. Отображение структуры таблиц в Visual Studio

Код кнопки удаления сотрудника.

Листинг 4 - Удаление данных из таблицы сотрудников

private void button3_Click (object sender, EventArgs e)

{

if (textBox7. Text == «») return;

System. Data. Odbc. OdbcConnection sqlConnection1 = workerTableAdapter. Connection;

System. Data. Odbc. OdbcCommand cmd = new System. Data. Odbc. OdbcCommand();

cmd. CommandType = System. Data. CommandType. Text;

cmd. CommandText = «Delete FROM worker WHERE id_worker = '» + textBox7. Text + «';»;

cmd. Connection = sqlConnection1;

sqlConnection1. Open();

cmd. ExecuteScalar();

sqlConnection1. Close();

MessageBox. Show («Пользователь удален», «Сообщение»);

workerTableAdapter. Fill (dataSet1.worker);}

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

Листинг 5 - Изменение данных в таблице сотрудников

private void button2_Click (object sender, EventArgs e)

{

System. Data. Odbc. OdbcConnection sqlConnection1 = workerTableAdapter. Connection;

System. Data. Odbc. OdbcCommand cmd = new System. Data. Odbc. OdbcCommand();

cmd. CommandType = System. Data. CommandType. Text;

cmd. CommandText = «SELECT edit_worker ('» + textBox7. Text + «', '» +

textBox1. Text + «', '» +

textBox2. Text + «', '» +

textBox3. Text + «', '» +

textBox4. Text + «', '» +

textBox5. Text + «', '» +

textBox6. Text + «')»;

cmd. Connection = sqlConnection1;

sqlConnection1. Open();

cmd. ExecuteNonQuery();

sqlConnection1. Close();

workerTableAdapter. Fill (dataSet1.worker);

textBox1. Text = «»;

textBox2. Text = «»;

textBox3. Text = «»;

textBox4. Text = «»;

textBox5. Text = «»;

textBox6. Text = «»;

textBox7. Text = «»;

}

Во вкладке «Сотрудники» также будет доступен поиск информации о сотруднике по его имени или фамилии.

Листинг 6 - Поиск данных в таблице сотрудников

private void button4_Click (object sender, EventArgs e) {

System. Data. Odbc. OdbcConnection sqlConnection = workerAdapter. Connection;

System. Data. Odbc. OdbcCommand cmd = new System. Data. Odbc. OdbcCommand();

cmd. CommandType = System. Data. CommandType. Text;

cmd. Connection = sqlConnection;

sqlConnection. Open();

if (textBox7. TextLength > 0)

{

workerDataGridView. Visible = true;

cmd. CommandText = «SELECT * FROM sort_salary ('» + textBox7. Text + «');»;

System. Data. Odbc. OdbcDataReader dr = cmd. ExecuteReader();

BindingSource bs = new BindingSource();

bs. DataSource = dr;

workerDataGridView. DataSource = bs;

sqlConnection. Close();}}

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

Листинг 7 - Фильтрация данных в таблице сотрудников

if (radioButton1. Checked) {dolzhnostDataGridView. Sort (dolzhnostDataGridView. Columns [«postnameDataGridViewTextBoxColumn»], ListSortDirection. Ascending);

} else {dolzhnostDataGridView. Sort (dolzhnostDataGridView. Columns [«salaryDataGridViewTextBoxColumn»], ListSortDirection. Ascending);

}

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

В Листинге 8 представлен скрипт подключения к базе данных.

Листинг 8 - Скрипт подключения к базе данных

<? php

$connect_str= «host=localhost dbname=db18168643 user=postgres password=*****»;

$conn = pg_connect ($connect_str);

if (!$conn) {

echo «Error\n»;

exit;

}

if (! pg_ping($conn))

die («Internet issues\n»);?>

Функция pg_connect - открывает соединение с базой данных, возвращает указатель соединения. Она принимает все конфигурационные настройки и подключается к серверу. В случае ошибки подключения срабатывает оператор die(), который выводит сообщение об ошибке и завершает работу скрипта. А в случае успешного подключения функция pg_connect() возвращает объект подключения в виде переменной $connect_string.

Чтобы осуществить запрос к базе данных, необходимо использовать функцию pg_query(), которая принимает два параметра: объект подключения и строку запроса на языке SQL. Например, получение всех данных из таблицы «Должность» представлено в Листинге 9.

Листинг 9 - Скрипт инициации получения списка должностей

$query = «SELECT * FROM post;»;

$result = pg_query ($conn, $query);

Функция pg_query() возвращает объект $result, который содержит результат запроса. В случае неудачи данный объект содержит значение false.

Скрипт отображения таблицы должностей представлен в Листинге 10.

Листинг 10 - Скрипт инициации получения списка должностей

<? php

include ('config.php');

$query = «SELECT * FROM post;»;

$result = pg_query ($conn, $query);

$num_result = pg_num_rows($result);

for ($i=0; $i<$num_result; $i++)

{

echo '<tr>';

$row = pg_fetch_array($result);

echo '<td> '.stripslashes ($row['post_name']);

echo '<td> '.stripslashes ($row['salary']);

echo '<td> <a class= «btn btn-warning» href= «change_post.php? id='.stripslashes ($row['id_post']).'»>Изменить</a></td>';

echo '<td> <a class= «btn btn-danger» href= «delete_post.php? id='.stripslashes ($row['id_post']).'»>Удалить</a></td>';

echo '</tr>';

}

echo '</tbody>';

echo '</table>';

?>

Для изменения данных в таблице «Должность» создаётся форма.

Листинг 11 - Скрипт инициации получения списка должностей

echo '<form action= «insert_post.php? id='.stripslashes ($row['id_post']).'» method= «post» >';

echo' <div class= «form-group»>';

echo' <input type= «text» class= «form-control» name= «post_name» value= «'.stripslashes ($row['post_name']).'» placeholder= «Должность»>';

echo' </div>';

echo' <div class= «form-group»>';

echo'<input type= «text» class= «form-control» name= «salary» value= «'.stripslashes ($row['salary']).'» placeholder= «Зарплата»>';

echo'</div>';

echo '<input type= «submit» value= «Изменить» name= «do_update»> ';

echo '</form> ';

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

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

1. По клику на кнопку «Удалить» помощью глобального массива POST передается выбранный параметр удаляемой модели.

2. Формируется запрос с последующим вызовом функции из СУБД PostgreSQL.

Изменение данных из базы данных осуществляется по следующему алгоритму:

1. По клику на кнопку «Изменить» открывается новая страница с формами, в которую вводится информация.

2. Формируется запрос с последующим вызовом функции из СУБД PostgreSQL.

Для всех таблиц механизм взаимодействия с данными аналогичен.

3. Тестирование информационной системы

В данной главе курсовой работы проводится тестирование разработанного интерфейса win- и web-приложения.

3.1 Пользовательский интерфейс

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

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

Интерфейс win-приложения после запуска (рис. 12):

Рисунок 13. Запуск win-приложения

Слева - таблица, справа - действия, доступные с этой таблицей.

Добавление нового сотрудника (рис. 14):

Рисунок 14. Заполнение текстовых полей для добавления

Результат нажатия кнопки «Добавить» (рис. 15):

Рисунок 15. Результат добавления

Изменение данных ранее добавленного сотрудника (рис. 16):

Рисунок 16. Заполнение текстовых полей для изменения

Результат нажатия на кнопку «Изменить» (рис. 17)

Рисунок 17. Заполнение текстовых полей для изменения

Результаты удаления ранее добавленного сотрудника с помощью кнопки «Удалить» (рис. 18)

Рисунок 18. Удаление ранее добавленного сотрудника

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

Интерфейс Web-приложения. Веб-приложение доступно по адресу http:// 172.23.64.64/ftp/16/18168643/kursworkbd/main.html.

Рисунок 19. Главная страница web-приложения

Навигация осуществляется с помощью кнопок в шапке сайта.

Результат перехода по кнопке «Сотрудники» (рис. 20):

Рисунок 20. Worker.html

Переход по ссылке «Показать таблицу «Сотрудники»» (рис. 21):

Рисунок 21. Вид страницы, отображающей список сотрудников и часть операций над ними

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

Результат поиска при введении в строку поиска окончания - ов (рис. 22):

Рисунок 22. Результат поиска

Вид формы изменения данных сотрудников позволяет исправить ошибки, допущенные при вводе данных сотрудника, либо изменить сведения о сотруднике (рис. 23):

Рисунок 23. Форма изменения данных сотрудников

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

Рисунок 24. Форма добавления

Рисунок 25. Результаты добавления сотрудника

Для удаления сотрудников используется кнопка «Удалить». Результаты её использования по отношению к ранее добавленному сотруднику представлены ниже.

Рисунок 26. Сотрудник удалён

Аналогичные функции представлены реализованы и для других страниц web-приложения.

Заключение

В ходе выполнения данной курсовой работы была изучена предметная область, спроектирована логическая и физическая модель данных, найден и обобщен весь теоретический материал, закреплены практические навыки по работе с СУБД PostgreSQL, языком PHP, HTML, JavaScript. Также были получены навыки работы со средой Visual Studio и языком C#. Полученная в ходе данной курсовой работы система значительно упрощает и ускоряет процессы бизнес-логики.

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

В процессе выполнения данной курсовой работы были выполнены поставленные задачи, а именно:

ѕ Проведение анализа предметной области «Отдел кадров»;

ѕ Проектирование БД в исследуемой предметной области;

ѕ Реализация спроектированной БД;

ѕ Спроектировано и разработано win- и web-приложение;

ѕ Протестировано разработанное win- и web-приложение;

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

1. Васильев А.Ю., «Работа с PostgreSQL: настройка и масштабирование». -2017.

2. Дейт К.Дж., «Введение в системы баз данных» - 8-ое издание. - М.: Вильямс, 2005. - 1328 с.

3. ИнфопедиЯ / Язык гипертекстовой разметки HTML [Электронный ресурс]. - Режим доступа: https://infopedia.su/14x72af.html

4. Коцюба И.Ю. Основы проектирования информационных систем / И.Ю. Коцюба, Чунаев А.В., А.Н. Шиков. - СПБ.: Университет ИТМО, 2015. - 206 с.

5. Лекция по информационным технологиям на тему «Автоматизированные информационные системы» [Электронный ресурс]. - Режим доступа: https://infourok.ru/lekciya-po-informacionnim-tehnologiyam-na-temu-avtomatizirovannie-informacionnie-sistemi-2030044.html

Приложение

Таблица соответствия доменов и таблиц с данными

Имя таблицы

Поле

Тип

Not Null

Default

Check

Primary key

Имя домена

department

id_department

integer

+

PK

+

Department_name

varchar

+

[50]

post

id_post

integer

+

PK

+

Post_name

varchar

+

[50]

Salary

integer

+

check_salary

education

id_education

Integer

+

PK

+

id_worker

integer

+

FK

Specialty

varchar

[50]

Document_number

integer

+

Service_information

id_worker

integer

+

PK

+

id_department

integer

+

FK

id_post

integer

+

FK

arranged

date

+

FK

fired

date

expirience

varchar

[20]

worker

id_worker

integer

+

PK

+

Last_name

varchar

+

[20]

FIO

First_name

varchar

+

[20]

FIO

Middle_name

varchar

[20]

FIO

address

varchar

+

[50]

phone

varchar

[20]

gender

varchar

+

[8]

id_education

integer

FK

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

...

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

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