Система для отдела кадров

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

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

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

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

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

Введение

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

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

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

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

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

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

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

Согласно цели поставим задачи:

– изучение особенностей кадрового дела;

– разработка схемы БД;

– реализация разработанной схемы в конкретной СУБД (MS SQL Server);

– создание форм для ввода данных, отчетов, запросов;

– автоматизация работы с созданной БД.

1.Постановка задачи

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

пропускной правовой автоматизация

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

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

Контрольно-пропускной режим вводится для того, чтобы исключить:

проникновение посторонних лиц на охраняемые (режимные) объекты, в административные здания, а также в режимные помещения;

посещение режимных помещений без служебной необходимости должностными лицами организации;

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

вынос (вывоз) из административных зданий и объектов документов и вещей без соответствующего разрешения.

Пропускной режим предусматривает:

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

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

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

охрану административных зданий и объектов.

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

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

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

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

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

Основные цели контрольно-пропускного режима приведены на рисунке

Рисунок 1 - Основные цели контрольно-пропускного режима

Для достижения целей контрольно-пропускной режим должен отвечать определенным требованиям (рисунок 2).

Рисунок 2 - Требования, предъявляемые к контрольно-пропускному режиму

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

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

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

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

1.2 Цели и задачи на проектирования

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

Основные функции:

· Ограничение доступа к помещениям охраняемого объекта.

· Ведение табельного учета рабочего времени для каждого сотрудника.

· Контроль за действиями дежурной охраны.

· Фиксирование времени прихода и ухода посетителей.

· Персональный и временной контроль за открытием внутренних помещений.

· Контроль за перемещениями сотрудников по объекту.

· Регистрация и уведомление о случаях попыток проникновения в охраняемые помещения.

· Интеграция и взаимодействие между системами видеоконтроля и охранно-пожарной сигнализации.

Категории доступа.

Зачастую, в автоматизированных СКУД, применяется контроль объектов разных категорий, при этом охраняемая территория разделяется на несколько автономных зон контроля, имеющих определенные особенности доступа и свои виды ограничений на посещение.

Объекты СКУД представляют собой:

Входы в отдельные помещения или группы помещений.

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

Проходы на отгороженные или открытые территории.

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

Контрольные и пропускные пункты по периметру объекта.

Доступ к предметам искусства и художественным ценностям.

Доступ к вычислительным сетям, оборудованию, ПЭВМ.

Доступ к приборам и оборудованию, обеспечивающим жизненно-важные функции.

При разделении объектов доступа на категории, необходимо различать:

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

Доступ в помещение. Подразумевает возможность посещения определенного помещения на территории.

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

Режимы доступа.

Режимы доступа, применяемые для автоматизированного контроля, можно разделить на:

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

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

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

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

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

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

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

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

Аутентификация. Процедура установления подлинности пользователя по используемому для входа идентификатору;

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

Контроль за соблюдением режимов доступа, это одна из самых важных мероприятий проводимых для обеспечения мер безопасности. Бывает двух видов:

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

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

Регистрация -- это процесс протоколирования в системе любых действий.

Реагирование -- это реакция системы на любые несанкционированные поступки.

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

2. Проектирование

2.1 Проектирование схемы данных

Построим функциональную модель для описания работы программы. Систему представляют, как взаимодействие отдельных функций и работ. Наиболее наглядно и понятно функциональная модель реализуется с помощью CASE-средства BP-win, при помощи нотаций DFD или IDEF0. При этом разрабатываются контекстная диаграмма и диаграммы детализации процессов.

Контекстная диаграмма представляет собой схему организации работы отдела кадров. Входными данными является информация о сотруднике, вакансиях, увольнении, отпуске, больничном, приёме на работу, ЗП, отделах, видах работы, расписании. Результатом функционирования являются личные данные о сотруднике, приказ о приеме на работу, приказ об увольнении, приказ об отпуске, данные о вакансиях, расписании, больничном, сотруднике. Управление осуществляется на основании оформления договоров. Механизмом исполнения работы являются пользователь и ПК (в соответствии с рисунком 2.1).

Рисунок 2.1 - Контекстная диаграмма

В дальнейшем диаграмма детализируется на уровни. Первый уровень - это диаграмма (представлена на рисунке 2.2), с помощью которой производится детализация основного процесса, находящегося на контекстной диаграмме. Контекстную диаграмму разбиваем на 3 процесса.

Рисунок 2.2 - Декомпозиция процесса «Организовать работу отдела кадров»

Полученные процессы - «Обработать данные об отделах», «Обработать данные о сотрудниках», «Обработать данные о приёме на работу» также подлежат дальнейшей детализации. Процесс «Обработать данные об отделах» (представлен на рисунке 2.3) детализируем на 2 процесса.

Рисунок 2.3 - Декомпозиция процесса «Обработать данные об отделах»

Процесс «Обработать данные о сотрудниках» (представлен на рисунке 2.4) детализируем на 6 процессов.

Рисунок 2.4 - Декомпозиция процесса «Обработать данные о сотрудниках»

Процесс «Обработать данные о приёме на работу» (представлен на рисунке 2.5) детализируем на 3 процесса.

Рисунок 2.5 - Декомпозиция процесса «Обработать данные о приёме на работу»

Процесс «Обработать данные об отпусках» (представлен на рисунке 2.6) детализируем на 3 процесса.

Рисунок 2.6 - Декомпозиция процесса «Обработать данные об отпусках»

Процесс «Обработать данные об увольнениях» (представлен на рисунке 2.7) детализируем на 2 процесса.

Рисунок 2.7 - Декомпозиция процесса «Обработать данные об увольнениях»

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

Рисунок 2.8 - Диаграмма дерева узлов

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

Рисунок 2.9 - Диаграмма вариантов использования

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

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

Рисунок 2.10 - Диаграмма последовательности

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

Рисунок 2.11 - Диаграмма компонентов и размещения

На рисунке 2.12 представлен алгоритм работы пользователя и администратора.

Рисунок 2.12 - Алгорит работы пользователя и администратора

2.2 Обоснование выбора технологий

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

1 C# - для реализации программы (с использованием средств доступа к данным ADO.NET и Entity Framework).

2 SQL SERVER - для создания и работы с базой данных.

3 AllFusion Erwin |Data Modeler - для создания базы данных вместе с первичными и вторичными ключами таблиц и связями между ними, и для дальнейшего создания скрипта для создания базы данных в SQL SERVER.

4 Enterprise Architect 7.1- для создания диаграмм.

5 Microsoft Word - для генерации документов в программе, а также выполнения пояснительной записки.

6 AllFusion BPwin Data Modeler - для создания функционального модлерирования системы.

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

2.3 Описание среды реализации

В качестве программного обеспечения для реализации программного средства были выбраны: язык программирования С# и СУБД SQL SERVER.

C# (произносится как «си шарп») -- простой, современный объектно-ориентированный и типобезопасный язык программирования. C# относится к широко известному семейству языков C, и покажется хорошо знакомым любому, кто работал с C, C++, Java или JavaScript. Здесь представлен обзор основных компонентов языка.

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

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

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

SQL Server является одной из наиболее популярных систем управления базами данных (СУБД) в мире. Данная СУБД подходит для самых различных проектов: от небольших приложений до больших высоконагруженных проектов.

SQL Server был создан компанией Microsoft. Первая версия вышла в 1987 году. А текущей версией является версия 16, которая вышла в 2016 году и которая будет использоваться в текущем руководстве.

SQL Server долгое время был исключительно системой управления базами данных для Windows, однако начиная с версии 16 эта система доступна и на Linux.

SQL Server характеризуется такими особенностями как:

– производительность. SQL Server работает очень быстро;

– надежность и безопасность. SQL Server предоставляет шифрование данных;

– простота. С данной СУБД относительно легко работать и вести администрирование.

Центральным аспектом в MS SQL Server, как и в любой СУБД, является база данных. База данных представляет хранилище данных, организованных определенным способом. Нередко физически база данных представляет файл на жестком диске, хотя такое соответствие необязательно. Для хранения и администрирования баз данных применяются системы управления базами данных (database management system) или СУБД (DBMS). И как раз MS SQL Server является одной из такой СУБД.

Для организации баз данных MS SQL Server использует реляционную модель. Эта модель баз данных была разработана еще в 1970 году Эдгаром Коддом. А на сегодняшний день она фактически является стандартом для организации баз данных.

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

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

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

Для взаимодействия с базой данных применяется язык SQL (Structured Query Language). Клиент (например, внешняя программа) отправляет запрос на языке SQL посредством специального API. СУБД должным образом интерпретирует и выполняет запрос, а затем посылает клиенту результат выполнения.

Выделяются две разновидности языка SQL: PL-SQL и T-SQL. PL-SQL используется в таких СУБД как Oracle и MySQL. T-SQL (Transact-SQL) применяется в SQL Server.

В зависимости от задачи, которую выполняет команда T-SQL, он может принадлежать к одному из следующих типов:

DDL (Data Definition Language / Язык определения данных). К этому типу относятся различные команды, которые создают базу данных, таблицы, индексы, хранимые процедуры и т.д. В общем определяют данные.

В частности, к этому типу мы можем отнести следующие команды:

? CREATE: создает объекты базы данных (саму базу даных, таблицы, индексы и т.д.).

? ALTER: изменяет объекты базы данных.

? DROP: удаляет объекты базы данных.

? TRUNCATE: удаляет все данные из таблиц.

? К этому типу относятся следующие команды:

? SELECT: извлекает данные из БД.

? UPDATE: обновляет данные.

? INSERT: добавляет новые данные.

? DELETE: удаляет данные.

3.Программная реализация

3.1 Физическая структура базы данных

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

– «Сотрудники» - для отображения информации о сотрудниках.

– «Расписание» - для отображения данных о расписании.

– «Отделы» - для хранения информации об отделах.

– «Вакансии» - информация о вакансиях.

– «Отпуск» - хранит информацию об отпуске.

– «Прием на работу» - для отображения информации о принятых сотружниках.

– «Вид работы» - хранит информацию о видах работы.

– «ЗП» - для отображения данных о ЗП.

– «Увольнение» - хранит информацию об увольнениях.

– «Больничные» - для отображения информации о больничных.

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

– неидентифицирующие связи;

– идентифицирующие связи.

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

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

Связь между сущностями «Сотрудники» и «Увольнение» идентифицирующая, так как для просмотра информации об увольнении нужна информация о сотруднике. Тип связи один ко многим, так как один сотрудник может увольняться много раз (в случае, если он устраивался на работу, а затем увольнялся ранее).

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

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

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

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

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

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

Исполняемый файл для запуска программы - programs.exe.

Файл базы данных приложения - base.dbml.

ER - диаграмма физического уровня представлена на рисунке 3.1. На диаграмме выделены сверху таблицы первичные ключи таблицы, ниже их вторичные ключи (FK), а также видны типы данных. Именно из ER - диаграмма физического уровня был создан скрипт для создания таблиц для SQL SERVER.

Рисунок 3.1 -- ER - диаграмма физического уровня

На рисунке 3.2 хорошо видно по каким полям происходят связи между таблицами.

Рисунок 3.2 -- Схема базы данных

В программе реализованы 10 хранимых процедур.

1. create proc Otpysk

/*Выводит количество дней отпуска*/

AS SELECT Сотрудники.ФИО, Отпуск.С, Отпуск.ПО, (DATEDIFF(DD,Отпуск.С, Отпуск.ПО)+1) AS Колво_дней_отпуска

FROM Сотрудники inner join Отпуск on Сотрудники.ТабНомерСотрудника=Отпуск.ТабНомерСотрудника

2. create proc Bolnichnii

/*Выводит количество дней больничного*/

AS SELECT Сотрудники.ФИО, Больничные.НачалоБольн, Больничные.КонецБольн, (DATEDIFF(DD,Больничные.НачалоБольн, Больничные.КонецБольн)+1) AS Колво_дней_больничного

FROM Сотрудники inner join Больничные on Сотрудники.ТабНомерСотрудника=Больничные.ТабНомерСотрудника

3. create proc LichnieDannie

/*Выводит личные данные*/

AS SELECT ПриемНаРаботу.ДатаДоговора, ПриемНаРаботу.НомерДоговора, Сотрудники.Адрес, Сотрудники.ВыданПаспорт, Сотрудники.Гражданство, Сотрудники.Дата_Рождения, Сотрудники.ДатаВыдачиПасп, Сотрудники.МестоРождения, Сотрудники.НомерСтрахов, Сотрудники.Образование, Сотрудники.Паспорт, Сотрудники.Пол, Сотрудники.Профессия, Сотрудники.СостВБраке, Сотрудники.ТабНомерСотрудника, Сотрудники.Телефон, Сотрудники.ФИО

FROM ВидРаботы inner join ПриемНаРаботу inner join Сотрудники on Сотрудники.ТабНомерСотрудника=ПриемНаРаботу.ТабНомерСотрудника on ВидРаботы.КодРаботы=ПриемНаРаботу.КодРаботы

ORDER BY Сотрудники.ФИО

4. create proc OtpyskPrikaz

/*Выводит приказ на отпуск*/

AS SELECT Отпуск.НомерПриказаОтп, Отпуск.ДатаПриказа, Отпуск.ТабНомерСотрудника, Сотрудники.ФИО, Отделы.НазваниеОтдела, Сотрудники.Профессия,

(DATEDIFF(DD,Отпуск.С, Отпуск.ПО)+1) AS Колво_дней_отпуска, Отпуск.С, Отпуск.ПО, Отпуск.Основание

FROM Отделы inner join Сотрудники on Отделы.КодОтдела=Сотрудники.КодОтдела inner join Отпуск

on Сотрудники.ТабНомерСотрудника=Отпуск.ТабНомерСотрудника

ORDER BY Сотрудники.ФИО

5. create proc YvolneniePrikaz

/*Выводит личные данные*/

AS SELECT Увольнение.НомерПриказаУв, Увольнение.ДатаПриказаУв, ПриемНаРаботу.НомерДоговора, ПриемНаРаботу.ДатаДоговора,

Сотрудники.ФИО, Сотрудники.Профессия, Увольнение.ОснованиеУв, Отделы.НазваниеОтдела, Сотрудники.ТабНомерСотрудника

FROM Отделы inner join Сотрудники on Отделы.КодОтдела=Сотрудники.КодОтдела inner join Увольнение on Сотрудники.ТабНомерСотрудника=Увольнение.ТабНомерСотрудника inner join ПриемНаРаботу on Сотрудники.ТабНомерСотрудника= ПриемНаРаботу.ТабНомерСотрудника

ORDER BY Сотрудники.ФИО

6. create proc PriemPrikaz

/*Выводит данные о приказе о приеме на работу*/

AS SELECT ПриемНаРаботу.НомерДоговора, ПриемНаРаботу.ДатаДоговора, Сотрудники.ФИО, Сотрудники.ТабНомерСотрудника, Отделы.НазваниеОтдела, ВидРаботы.ВидРаботы,

Сотрудники.Профессия, ЗП.Оклад, ЗП.Надбавки, ПриемНаРаботу.Испытательный,

ПриемНаРаботу.ДатаПриказа, ПриемНаРаботу.НомерПриказа

FROM ВидРаботы inner join ПриемНаРаботу on ВидРаботы.КодРаботы=ПриемНаРаботу.КодРаботы inner join ЗП on ЗП.КодЗП=ПриемНаРаботу.КодЗП

inner join Сотрудники on Сотрудники.ТабНомерСотрудника=ПриемНаРаботу.ТабНомерСотрудника inner join Отделы on Отделы.КодОтдела=Сотрудники.КодОтдела

ORDER BY Сотрудники.ФИО

7. create proc Raspisanie

/*Выводит данные о расписании работников*/

AS SELECT Сотрудники.ФИО, Сотрудники.Профессия, Расписание.ВремяПрихода, Расписание.ВремяУхода, Расписание.РабочиеДниНедели

FROM Расписание inner join Сотрудники on Расписание.КодРасписания=Сотрудники.КодРасписания

ORDER BY Сотрудники.ФИО

8. create proc Vakansii

/*Выводит данные о вакансиях*/

AS SELECT Отделы.НазваниеОтдела, Вакансии.Наименование, ВидРаботы.ВидРаботы

FROM Отделы inner join Вакансии on Отделы.КодОтдела=Вакансии.КодОтдела inner join ВидРаботы on ВидРаботы.КодРаботы=Вакансии.КодРаботы

ORDER BY Вакансии.Наименование

9. CREATE PROCEDURE Poisk

/*Процедура организует поиск сотрудника */

@sotr varchar(200)

AS SELECT /*поля которые будут выведены в результате*/

Сотрудники.ФИО, Сотрудники.Профессия, Отделы.НазваниеОтдела, Сотрудники.Телефон

FROM /*таблица из которой выбирается запись*/

Отделы inner join Сотрудники on Отделы.КодОтдела=Сотрудники.КодОтдела

WHERE Сотрудники.ФИО LIKE @sotr+'%' GO

10. create proc ZP

/*Выводит данные о зп работников*/

AS SELECT Сотрудники.ФИО, Сотрудники.Профессия, ЗП.Оклад, ЗП.Надбавки

FROM Сотрудники inner join ПриемНаРаботу on Сотрудники.ТабНомерСотрудника=ПриемНаРаботу.ТабНомерСотрудника

inner join ЗП on зп.КодЗП=ПриемНаРаботу.КодЗП

ORDER BY Сотрудники.ФИО

3.2 Структура системы

В разработанной программе имеется 8 модулей.

Главный модуль «Form1.cs» предназначен для запуска главного окна приложения и прохождения авторизации.

Модуль «Menu.cs» предназначен для выбора разделов в программе.

Модуль «ProsmotrTable.cs» предназначен для реализации просмотра данных в таблицах, удаления, редактирования и добавления информации.

Модуль «Form2.cs» предназначен для просмотра запросов и выбора документов.

Модуль «Form3.cs» предназначен для формирования документа «Личные данные».

Модуль «Form4.cs» предназначен для формирования документа «Приказ о приеме на работу».

Модуль «Form5.cs» предназначен для формирования документа «Приказ об отпуске».

Модуль «Form6.cs» предназначен для формирования документа «Приказ об увольнении».

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

– MenuStrip - компонент предназначен для создания системы меню для формы Windows;

– TextBox - компонент предназначен для ввода информации.

– Button - компонент представляет собой элемент управления «Кнопка Windows».

– Label - компонент представляет собой стандартную метку Windows для создания текстовых пояснений;

– ListView - компонент предназначен для отображения файлов в выбранной папке.

– DateTimePicker - компонент предназначен для отображения даты.

– BindingNavigator - компонент предназначен для отображения навигации.

На диаграмме классов форм (рисунок 3.3) показана структура системы: формы (модули) и как они связаны.

Рисунок 3.3 -- Диаграмма классов форм

3.3 Тестирование системы

Неотъемлемой частью процесса разработки программного обеспечения является его тестирование.

Тестирование программного обеспечения -- это процесс анализа или эксплуатации программного обеспечения, имеющий 2 цели:

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

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

Согласно этому определению, тестирование предусматривает «анализ» или «эксплуатацию» программного продукта.

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

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

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

? по объекту тестирования;

? по знанию системы;

? по степени автоматизации;

? по степени изолированности компонентов;

? по признаку позитивности сценариев.

Уровни тестирования бывают:

- модульное тестирование (smoke) -- тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция;

- интеграционное тестирование (MAT) -- тестируются интерфейсы между компонентами, подсистемами или системами.

На данной стадии тестирование ведётся итерационно, с постепенным подключением последующих подсистем;

- системное тестирование (AT) -- тестируется интегрированная система на её соответствие требованиям.

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

Таблица 4.1 - Тестирование интерфейса пользователя и функциональности программного средства

Тестирование действия

Вводимые данные

Полученный результат

Ожидаемый результат

Корректирующие действия

1

2

3

4

5

Функция заполнение полей данными

Нет

Ошибка типа данных

Вывод результата в соответ. с введ. данными

Запрет ввода некорректных символов

Функция перехода из одной формы на другую

Обработка нажатия кнопки

Переход не был осуществлен

Переход на форму

Обработка соответствующего события

Функция ввода пароля

Логин и пароль

Переход на след. форму

Переход на форму

Нет

Функция просмотра таблиц

Выбор таблицы

Вывод на экран данных выбранной таблицы

Вывод на экран данных выбранной таблицы

Нет

Функция удаления записи

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

Запись удалена

Запись удалена

Нет

Функция добавления записи

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

Запись добавлена

Запись добавлена

Нет

1

2

3

4

5

Функция редактирования записи

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

Запись изменена

Запись изменена

Нет

Функция просмотра запросов

Нажатие кнопки выбранного запроса

Вывод на экран данных запроса

Вывод на экран данных запроса

Нет

Функция генерации документа

Выбор документа, выбор данных, нажатие кнопки форм. документа

Вывод документа в WORD

Вывод документа в WORD

Нет

Функция смены пользователя

Нажатие кнопки

Открытие формы для выбора пользователя

Открытие формы для выбора пользователя

Нет

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

После тестирования получены следующие результаты:

– тестирование хранимых процедур прошло успешно;

– тестирование форм прошло успешно;

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

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

3.4 Описание применения

Данное программное средство предназначено для работы отдела кадров.

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

В рамках курсового проекта программе реализованы два раздела: «Просмотр таблиц» и «Просмотр запросов и документов».

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

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

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

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

Для того чтобы никто не мог подсмотреть пароль - он отображается в виде звездочек. Если пользователь неправильно введет пароль, система выведет сообщение.

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

Для удаления записи пользователь должен выделить любую строку и нажать кнопку на клавиатуре «Delete» и нажать кнопку «Сохранить данные».

Для изменения данных пользователь должен выделить ячейку и щёлкнуть двойным щелчком мыши и изменить данные. Далее нажать кнопку «Сохранить изменения» (рисунок 5.7). В сравнении с рисунком 5.6 на рисунке 5.7 видно что в первой записи поменялось название отдела с «Бухгалтерия» на «Бухгалтерия Изменено».

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

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

После ввода критерия поиска пользователь нажимает «ОК» и система выводит результат.

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

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

Чтобы сформировать документ необходимо в пункте меню выбрать любой документ.

Заключение

пропускной правовой автоматизация

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

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

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

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

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

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

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

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

1.Практическое руководство по SQL. - М.: Вильямс, 2002. - 352 с.

2.Жилинский А. Самоучитель Microsoft SQL Server 2008. - СПб:BHV, 2004. - 224 с.

3.Крёнке, Д, Теория и практика построения баз данных, 8-е изд./ Д.Крёнке.- СанктПитербург: Питер, 2003г.

4.Маклаков, С.В., ВPwin и ERwin. CASE - средства разработки информа-ционных систем / С.В. Маклаков.- Москва: Диалог-МИФИ, 2004, 256с.

5.Роб, П., Коронел, К. Системы баз данных: проектирование, реализация и управление. - 5-е изд., перераб. и доп.: Пер. с англ./ П.Роб, К. Коронел.- Санкт-Петербург: БХВ-Петербург, 2004.

6.Фленов М. TransactSQL в подлиннике. - СПб:BHV, 2006. - 576 с.

7.Фиайли, К. SQL. Руководство по изучению языка/ К.Фиайли. - Москва; Питер, 2004.-451с.

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

...

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

  • Дерево целей ООО "ЖБИ-7". Концептуальный план создания автоматизированной системы управления, информационное и организационное обеспечение. Логическая и даталогическая модель информационной базы начальника отдела кадров. Функции программы "кадры".

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

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

    дипломная работа [3,6 M], добавлен 17.07.2009

  • Анализ предметной области. Технико-экономическое обоснование разработки программного обеспечения информационной системы отдела кадров. Проектирование пользовательского интерфейса. Оптимизация параметров микроклимата помещений, оборудованных ПЭВМ.

    дипломная работа [6,8 M], добавлен 16.01.2015

  • Особенности кадрового дела. Разработка схемы базы данных для отдела кадров. Реализация разработанной схемы в конкретной СУБД (MS Access). Создание экранных форм для ввода данных, отчетов, запросов. Автоматизация работы с созданной базой данных.

    курсовая работа [2,8 M], добавлен 10.05.2011

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

    курсовая работа [319,6 K], добавлен 19.06.2012

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

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

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

    дипломная работа [603,2 K], добавлен 12.04.2012

  • Анализ работы отдела кадров и систематизация предъявляемых требований для Автоматизированной системы "Отдел кадров". Оценка возможности реализации системы в среде MS Access в соответствии с требованиями, ее разработка и экономическое обоснование.

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

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

    презентация [3,3 M], добавлен 10.07.2012

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

    дипломная работа [7,7 M], добавлен 24.06.2011

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

    курсовая работа [296,6 K], добавлен 07.05.2015

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

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

  • Основные функции отдела кадров нотариальной конторы ООО "Стрекоза". Автоматизация процесса внесения и хранения данных по сотрудникам. Список данных, хранящихся в подчинённых таблицах и используемых для параметрических запросов. Интерфейс базы данных.

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

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

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

  • Автоматизация процесса ведения личных дел сотрудников при помощи модуля Управления персоналом системы Галактика. Делопроизводство отдела кадров предприятия. Процесс заполнения, хранения и внесения изменений и дополнений в картотеку сотрудников фирмы.

    контрольная работа [5,3 M], добавлен 27.07.2009

  • Знакомство с основными проблемами и перспективами автоматизации системы учета многодетных семей отдела социальной защиты. Рассмотрение ключевых этапов проектирования объектов базы данных, отвечающих обозначенным функциям системы на основе СУБД Access.

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

  • Программа "Аксес" ("Access") компании Майкрософт как инструмент для работы с данными. Порядок предоставления информации о новом сотруднике при оформлении в отделе кадров. Схема объект-отношение, разработка реляционной модели данных. Формирование запросов.

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

  • Разработка концептуальной и логической моделей базы данных "Отдела кадров (института)". Примеры построения запросов для получения данных по различным критериям выборки, описание получения отчетных документов. Формы для ввода и редактирования данных.

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

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

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

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

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

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