СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library ›...

57
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Томский государственный университет Факультет информатики Кафедра теоретических основ информатики ДОПУСТИТЬ К ЗАЩИТЕ В ГАК Зав. каф. ТОИ проф., доктор. техн. наук __________Ю.Л. Костюк «___»___________2004г. СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ АВТОМАТИЗАЦИИ ДЕЯТЕЛЬНОСТИ КАДРОВОГО АГЕНТСТВА Дипломная работа Научный руководитель: ст. преп. А.М. Бабанов Исполнитель: студ. гр.1491 Е.Б. Белоусова Электронная версия дипломной работы помещена в электронную библиотеку. Файл Администратор Томск-2004

Upload: others

Post on 06-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Томский государственный университет Факультет информатики

Кафедра теоретических основ информатики

ДОПУСТИТЬ К ЗАЩИТЕ В ГАК

Зав. каф. ТОИ проф., доктор. техн. наук

__________Ю.Л. Костюк

«___»___________2004г.

СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ

АВТОМАТИЗАЦИИ ДЕЯТЕЛЬНОСТИ КАДРОВОГО

АГЕНТСТВА

Дипломная работа

Научный руководитель:

ст. преп. А.М. Бабанов

Исполнитель:

студ. гр.1491 Е.Б. Белоусова

Электронная версия дипломной работы помещена в электронную библиотеку. Файл Администратор

Томск-2004

Page 2: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

2

РЕФЕРАТ Сведения об отчете: дипломная работа, 57 с., 19 рис., 4 табл., 3 прил., 11 источников.

Перечень ключевых слов: КАДРОВОЕ АГЕНТСТВО, РЕЛЯЦИОННАЯ БАЗА ДАННЫХ, СУБД MS SQL SERVER 2000, ER-МОДЕЛЬ, ER-ДИАГРАММА, СУЩНОСТЬ, СВЯЗЬ, ТАБЛИЦА, ОГРАНИЧЕНИЯ ЦЕЛОСТНОСТИ, ПРОЦЕДУРЫ БД, DELPHI, ADO, TRANSACT-SQL, XML

Объект исследования - кадровое агентство, методология построения реляционных баз данных.

Цель работы - создание информационной системы кадрового агентства.

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

Полученные результаты - разработана информационная система.

Внедрение – система поступила в тестовое использование в кадровом агентстве «Вариант».

Область применения - кадровые агентства.

Page 3: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

3

СОДЕРЖАНИЕ

ВВЕДЕНИЕ ...................................................................................................................................5

1. СПЕЦИФИКА РАБОТЫ ОРГАНИЗАЦИИ И ОБЩИЕ ТРЕБОВАНИЯ К ИНФОРМАЦИОННОЙ СИСТЕМЕ ........................................................................................6

2. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ. ......................8

2.1 Функциональное моделирование. .....................................................................................8

2.2 Информационное моделирование. .....................................................................................9

3. ОСОБЕННОСТИ РАБОТЫ СУБД MS SQL SERVER 2000..........................................11

3.1 Архитектура SQL Server 2000. ..........................................................................................11

3.2 Инструменты SQL Server 2000..........................................................................................11

3.3 Работа с базой данных. .......................................................................................................12

4. ТЕХНОЛОГИЯ ДОСТУПА К ДАННЫМ. .......................................................................15

4.1. Используемые технологии. ...............................................................................................15

4.2. Обзор ADO и OLE DB. .......................................................................................................15

4.3. Технология XML.................................................................................................................17

4.4 Возможности интеграции баз данных с интернет в СУБД SQL Server 2000. .......18

5. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ. ..........................................................................19

5.1 Сбор информации о предметной области. ......................................................................19

5.2 Анализ потребностей. .........................................................................................................19

5.3 Построение частных ER-диаграмм на основании деловой модели..........................20

5.4 Определение множеств сущностей и их атрибутов. .....................................................23

5.5 Определение множеств связей. ........................................................................................26

5.6 Определение ограничений целостности..........................................................................29

5.7 Обобщение полученных результатов в общую ER – диаграмму. ..............................29

6. РЕАЛИЗАЦИЯ КЛИЕНТСКОЙ ЧАСТИ. ........................................................................33

6.1 Подключение к источнику данных..................................................................................33

6.1. Основные формы................................................................................................................35

Page 4: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

4

6.2. Генерация отчетов..............................................................................................................37

6.3. Сопоставления. ...................................................................................................................38

6.4. Веб-публикации. .................................................................................................................38

ЗАКЛЮЧЕНИЕ. ........................................................................................................................39

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. ...........................................................40

ПРИЛОЖЕНИЕ А. ОПИСАНИЕ ПРИМЕНЕНИЯ. ...........................................................41

ПРИЛОЖЕНИЕ Б. ОПИСАНИЕ ПРОГРАММЫ ..............................................................51

ПРИЛОЖЕНИЕ В. СХЕМА БАЗЫ ДАННЫХ ...................................................................57

Page 5: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

5

ВВЕДЕНИЕ

В настоящее время широкое распространение получили технологии баз данных (БД). Важнейшая задача компьютерных систем - хранение и обработка данных. Для ее решения были предприняты усилия, которые привели к появлению в конце 60-х - начале 70-х годов специализированного программного обеспечения - систем управления базами данных (DataBase Management Systems - DBMS). Сегодня невозможно представить себе деятельность любого современного предприятия или организации без использования профессиональных СУБД. Несомненно, они составляют фундамент информационной деятельности во всех сферах - начиная с производства и заканчивая финансами и телекоммуникациями. Это обусловлено потребностью быстрого сохранения и извлечения больших объемов информации разного рода, управления этой информацией, публикации ее во всемирной сети Интернет.

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

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

Основной задачей является автоматизация таких бизнес-процессов как подбор специалистов на имеющуюся вакансию, поиск вакансии по заявке соискателя, ведение баз данных специалистов и организаций, простейший документооборот агентства, создание стандартных и пользовательских отчетов, публикация необходимой информации на сайте агентства. Кроме того, создана база данных сотрудников. Созданная система является многопользовательской, построенной по архитектуре «клиент-сервер». В качестве СУБД выбрана одна из самых мощных и популярных ныне СУБД – MS SQL SERVER 2000. Клиентская же часть создана в среде Borland Delphi 7 и обеспечивает диалог с пользователем, также в ней реализована проверка некоторых ограничений целостности. Для публикации информации в Интернете используется стандарт XML.

Page 6: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

6

1. СПЕЦИФИКА РАБОТЫ ОРГАНИЗАЦИИ И ОБЩИЕ ТРЕБОВАНИЯ К ИНФОРМАЦИОННОЙ СИСТЕМЕ

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

Учитывая эти обстоятельства, выбор используемой СУБД пал на MS SQL Server 2000. Ее сильными сторонами являются: высокий уровень масштабируемости, развитая подсистема репликации, высокая надежность, интеграция в Web, поддержка каскадных изменений и др.

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

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

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

• Принятие заявки на специалиста от предприятия или организации.

• Заключение договора с организацией на подбор работника.

• Регистрация вакансии.

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

• Направление найденных специалистов на собеседование.

• Заключение договора с физическим лицом (кандидатом) по поиску ему работы.

КА «Вариант» является подразделением ТГУ и работает совместно с Центром содействия трудоустройству студентов и выпускников университета (в дальнейшем ЦСТВ ТГУ). К настоящему моменту существует система удаленной регистрации выпускников в базе данных на сайте ЦСТВ ТГУ, накопленная база данных содержит порядка 200 анкет студентов и выпускников. Регистрация на сайте будет продолжаться и далее, но необходимо в дальнейшем обеспечить возможность импорта данных в разрабатываемую базу данных.

С появлением новой информационной системы процесс работы менеджеров существенно упростится. Регистрация специалиста будет осуществляться путем заполнения специальной формы «Анкета» клиентского приложения. К этой анкете также можно будет присоединить резюме специалиста.

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

Page 7: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

7

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

Page 8: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

8

2. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ.

Ядро информационной системы – база данных. Для построения нашей базы данных будем использовать следующий метод построения баз данных, основанный на методологии структурного анализа и проектирования. На основании поступающей от экспертов информации о предметной области строится ее функциональная модель, с помощью которой строится ER–модель (Entity – Relationship Model, ERM, модель «сущность-связь») предметной области. Затем, на основании ERM и в рамках выбранной СУБД, строится схема базы данных, а затем создается программная оболочка [4]..

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

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

• интерфейсы и распределение функций между человеком и системой;

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

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

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

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

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

2.1 Функциональное моделирование.

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

Page 9: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

9

1. Модель SADT (Методология структурного анализа и проектирования). В рамках этой методологии строится модель системы, которая состоит из страниц диаграмм, текстов, рисунков и глоссария. Страницы одной модели образуют иерархию, верхние уровни которой представляют диаграммы сложных функций, а на нижнем представлены текстовые описания элементарных функций.

2. Модель DFD (Диаграммы потоков данных). Это средство моделирования функциональных требований. С помощью диаграмм эти требования разбиваются на функциональные компоненты (процессы) и представляются в виде сети, вершины которой связаны потоками данных. Главная цель таких средств – продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.

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

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

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

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

2.2 Информационное моделирование. Модель данных «Сущность-Связь»(ERM). В рамках ER-модели рассматриваются следующие структуры [7]:

• Множество сущностей

• Множество связей

• Роль

• Множество значений

• Атрибут

Page 10: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

10

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

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

1. Идентификация представляющих интерес множеств сущностей и множеств связей.

2. Идентификация семантической информации во множествах связей.

3. Определение атрибутов.

4. Организация данных в виде отношений "сущность/связь" и определение первичных ключей.

Определение ограничений целостности: • Ограничения на допустимые значения во множестве значений.

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

• Ограничения целостности на отображения между атрибутами одного множества сущностей или связей.

• Ограничения целостности на отображения между множествами сущностей внутри множеств связей.

Реляционная модель данных (RM). Основными понятиями реляционных баз данных являются [7]:

• тип данных

• домен

• атрибут

• кортеж

• первичный ключ

• отношение

Единственным средством структуризации данных в RM являются отношения (таблицы). Схема отношения задается именем отношения и определением его атрибутов. Схема БД - это набор именованных схем отношений. Фундаментальными свойствами отношений являются:

Отсутствие кортежей-дубликатов

Отсутствие упорядоченности кортежей

Отсутствие упорядоченности атрибутов

Атомарность значений атрибутов

Page 11: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

11

3. ОСОБЕННОСТИ РАБОТЫ СУБД MS SQL SERVER 2000. Поскольку наша система является многопользовательской, и в качестве сервера баз

данных мы выбрали MS SQL Server 2000, дадим краткое описание возможностей и основных принципов работы этой СУБД.

3.1 Архитектура SQL Server 2000. Классически термин "клиент-сервер" означает такую архитектуру программного

комплекса, в которой его функциональные части взаимодействуют по схеме "запрос-ответ". Если рассмотреть две взаимодействующие части этого комплекса, то одна из них (клиент) выполняет активную функцию, т. е. инициирует запросы, а другая (сервер) пассивно на них отвечает [3]. Конкретный сервер определяется видом ресурса, которым он владеет. Так, если ресурсом являются базы данных, то речь идет о сервере баз данных, назначение которого - обслуживать запросы клиентов, связанные с обработкой данных [2].

В нашем случае, в качестве сервера баз данных используется MS SQL Server 2000, поэтому рассмотрим основные принципы его работы.

Как и многие серверные продукты, работающие под управлением операционной системы Windows NT/2000, MS SQL Server 2000 реализован в виде набора служб операционной системы, каждая из которых запускается самостоятельно и отвечает за определенный круг задач. Приведем список служб SQL Server с их кратким описанием [1].:

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

• SQLServerAgent предназначена для автоматизации администрирования, с ее помощью можно автоматически запускать различные задания, отправлять уведомления операторам и др. В работе этой службы применяются объекты трех видов: Jobs (задания), Operators (операторы), Alerts (события).

• Microsoft Search (MSSearch, Full-Text Search), позволяет выполнять полнотекстовый поиск по базам данных.

• MSDTC – служба занимается координацией распределенных транзакций.

В своей работе MS SQL Server использует системные базы данных, которые создаются автоматически при установке СУБД. Это Master, Model, Tempdb, Msdb.

В БД Master хранится журнал транзакций, БД Model является шаблоном для создания пользовательских баз данных, ее структуру можно изменить под свои нужды, БД Tempdb служит для хранения всех временных объектов, которые удаляются из нее при остановке сервера, БД Msdb хранит информацию о заданиях, событиях и расписании запуска заданий, используется службой SQLServerAgent.

3.2 Инструменты SQL Server 2000. Перечислим основные утилиты SQL Server 2000:

Page 12: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

12

Enterprise Manager Данный инструмент применяется для выполнения различных задач, таких как:

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

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

• Использование средств Transact SQL

• С помощью графического интерфейса Enterprise Manager

• С помощью мастеров

SQL Server Service Manager Эта утилита занимается запуском, остановом и приостановом служб SQL Server, с ее помощью также можно запретить автоматический запуск службы при запуске ОС.

Query Analyzer Этот инструмент предназначен для выполнения запросов и анализа их исполнения.

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

Import and Export Data Этот инструмент является мастером импорта/экспорта данных, предназначен для создания пакета DTC, который будет выполнять копирование между двумя источниками данных. С помощью этого инструмента можно перенести в таблицу данные из БД другого формата или из таблиц MS Excel.

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

3.3 Работа с базой данных.

База данных является базовым элементом SQL Server 2000 и своего рода контейнером, в котором располагаются объекты и данные. Любой объект должен принадлежать базе данных. Каждая база данных имеет свою систему безопасности, связанную с системой безопасности SQL Server 2000. Любой пользователь, при обращении к серверу работает в контексте какой-либо базы данных. У каждой БД есть пользователь-владелец, который имеет максимальные права.

Создание базы данных в SQL Server 2000 возможно средствами Transact SQL, с помощью графического интерфейса утилиты Enterprise Manager, либо с помощью мастера.

Page 13: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

13

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

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

Рисунок 3.3.1 – Консоль Enterprise Manager. Объекты базы данных «Карьера».

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

Схемы

Таблицы

Представления

Хранимые процедуры

Пользователи

Роли

Правила

Умолчания

Пользовательские типы данных

Page 14: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

14

Пользовательские функции.

Процесс создания таблицы подразумевает определение имени таблицы, имен ее столбцов, тип хранимых в них данных, значения по умолчанию, возможность хранения неопределенных значений, первичный и внешний ключи. Создание таблиц в SQL Server 2000 возможно либо командами Transact-SQL, либо средствами Enterprise Manager.

Типы связей SQL Server 2000.

Ядро SQL Server 2000 поддерживает только отношения «Один ко многим».

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

Ограничения целостности.

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

целостности.

Ограничения целостности(constraints) – это механизм контроля значений, которые могут храниться в полях строки. В SQL Server 2000 поддерживаются следующие ограничения целостности:

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

Null – задает возможность хранения неопределенных значений

Default – определяет значение по умолчанию

Unique – гарантирует уникальность значений в столбце

Primary Key – определяет первичный ключ

Foreign Key – определяет внешний ключ

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

Cascade – обеспечивает каскадное изменение значений в зависимой таблице при изменении главной таблицы.

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

Page 15: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

15

4. ТЕХНОЛОГИЯ ДОСТУПА К ДАННЫМ.

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

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

Кроме того, в Delphi включены компоненты для разработки баз данных. Это такие наборы компонентов как Data Access, Data Controls, ADO, BDE, QReport, Rave и др.

В своей работе я использую набор компонентов, реализующий интерфейс доступа к источникам данных ADO. Выбор обусловлен тем, что этот интерфейс обеспечивает более высокую производительность и имеет широкие возможности [5].

4.2. Обзор ADO и OLE DB. Технология ADO была впервые применена в Microsoft Internet Information Server

как интерфейс доступа к БД. Использование ADO позволяет минимизировать сетевой трафик в Интернет-сценариях и уменьшить количество промежуточных уровней между клиентским приложением и источником данных. ADO легко использовать, так как он применяет привычную систему вызовов - интерфейс автоматизации OLE [7].

ADO является интерфейсом программного уровня к OLE DB. OLE DB обеспечивает высокопроизводительный доступ ко многим источникам данных. ADO и OLE DB вместе представляют собой основу стратегии универсального доступа к данным (Universal Data Access). OLE DB дает возможность универсального доступа ко многим данным и предоставляет разработчикам возможность сделать это достаточно легко. Так как ADO находится на вершине OLE DB, то применение ADO имеет все преимущества универсального доступа к данным, которое обеспечивает OLE DB.

OLE DB - это открытая спецификация, разработанная на основе спецификации ODBC и обеспечивающая открытый стандарт доступа ко всем видам данных в системах масштаба предприятия. OLE DB - это ядро технологии, поддерживающей универсальный доступ к данным. В отличие от технологии ODBC, которая была создана для доступа к реляционным БД, технология OLE DB разработана для реляционных и нереляционных источников данных, таких как хранилища почты (mail stores), текстов и графики для Web, службы каталогов (directory services).

Компоненты OLE DB состоят из провайдеров данных (data providers), которые предоставляют свои данные, потребителей данных (data consumers), которые используют данные и сервисных компонентов (service components), которые обрабатывают и транспортируют данные (например, механизм курсоров). OLE DB включает в себя мост с ODBC, чтобы дать возможность разработчикам использовать ODBC-драйверы реляционных БД.

Page 16: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

16

OLE DB провайдеры. Существует два типа OLE DB приложений: потребители и провайдеры. Потребителями могут быть любые приложения, которые используют OLE DB интерфейсы. Например, приложение Delphi, которое использует OLE DB интерфейсы для связи с сервером БД - это OLE DB потребитель. Объектная модель ADO, которая использует OLE DB интерфейсы, - это тоже OLE DB потребитель. Любое приложение, которое использует ADO, косвенно использует OLE DB интерфейсы через объекты ADO. OLE DB провайдер осуществляет OLE DB интерфейсы, поэтому, OLE DB провайдер дает возможность потребителям иметь доступ к данным единообразным способом через ряд документированных интерфейсов. [8]

Объектная модель ADO. ADO содержит семь объектов: [8]

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

Command - позволяет передавать команды к БД.

Parameter – определяет набор параметров запроса.

Field - Набор объектов Fields и объект Field позволяют получить доступ к данным любой колонки в текущей записи.

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

Property - обеспечивают информацию о параметрах объектов Connection, Command, Recordset и Field.

Error – обработка ошибок

и четыре набора объектов (коллекции):

Fields

Properties

Parameters

Errors.

Коллекция Properties и объект Property доступны через объекты Connection, Recordset и Command. Коллекция Properties и объект Property содержат свойства, которые могут быть доступны только для чтения или для чтения-записи. Объекты Connection, Recordset и Command являются ключевыми объектами в объектной модели ADO. ADO-приложение может использовать объект Connection для установки соединения с сервером БД, объект Command - для выдачи команды к БД, таких как запросы, обновления и т.п. и объект Recordset - для просмотра и манипулирования данными. Командный язык, используемый с объектом Command, зависит от провайдера для БД. В случае реляционных баз данных в качестве командного языка выступает SQL.

Page 17: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

17

4.3. Технология XML. XML (Extensible Markup Language) - это SGML-производный язык разметки

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

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

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

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

XML-документы могут использоваться в качестве промежуточного формата данных в трехзвенных системах. Обычно схема взаимодействия между серверами приложений и баз данных зависит от конкретной СУБД и диалекта SQL, используемого для доступа к данным. Если же результаты запроса будут представлены в некотором универсальном текстовом формате, то звено СУБД, как таковое, станет "прозрачным" для приложения.

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

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

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

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

Объектная модель документа DOM. Одним из интерфейсов доступа к содержимому XML-документов является

Document Object Model (DOM).

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

Page 18: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

18

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

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

Основными объектами в этой модели являются XMLDOMDocument, XMLDOMNode, XMLDOMNodeList, представляющие интерфейс для доступа ко всему документу, отдельным его узлам и поддеревьям соответственно. Использование этих объектов доступно в рамках любого языка сценариев, работающих на стороне клиента, таких как, например, JavaScript или VBScript.

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

Технология ADO предоставляет возможности преобразования результата запроса в XML-документ. Впервые возможность сохранять результаты запроса в виде XML появилась в ADO 2.1 (1999 г.) До этого в ADO 2.0 объект Recordset сохранялся только в частном бинарном формате ADTG (Advanced Data TableGram).

4.4 Возможности интеграции баз данных с интернет в СУБД SQL Server 2000.

К настоящему моменту, во всех серьезных СУБД предусмотрен механизм интеграции баз данных с Интернет. Не исключение и СУБД SQL Server 2000. До настоящей версии в распоряжении разработчика находился мастер веб-публикаций Web Assistant Wizard. Он позволяет на основе данных из одной или нескольких таблиц сгенерировать статичный HTML-документ. В последней же версии СУБД в распоряжении разработчиков имеется технология XML. Вообще говоря, запрос к базе данных можно вводить прямо в адресной строке браузера. После обработки запроса сервером, результат отобразится в окне браузера в виде XML-документа. В связи с этим, были внесены изменения в структуру предложения SELECT, точнее в его раздел FOR. Указывая в запросе «FOR XML», пользователь тем самым, сообщает серверу о необходимости преобразования данных в формат XML-документа. При этом поддерживается три режима преобразования, позволяющие представить данные в виде плоского текста, простого дерева или сложного многоуровнего дерева с явным указанием зависимостей между элементами.

Page 19: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

19

5. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ. 5.1 Сбор информации о предметной области. В процессе сбора информации о предметной области были проведены беседы с руководителем организации, а также с менеджерами. Были выявлены желаемые функции проектируемой информационной системы, ее технические характеристики, а также внешний вид клиентского приложения.

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

Конфигурация, рекомендуемая для установки сервера - процессор Pentium II, 64-128 Mb оперативной памяти, около 180 Mb дисковой памяти для установки MS SQL Server 2000, а также локальная сеть Fast Ethernet или лучше.

Организация располагает следующими компьютерными ресурсами: 3 машины на базе процессора Pentium III 1600Мгц, на каждой по 128Мб RAM, жесткие диски по 40Гб каждый. Также установлена локальная сеть FastEthernet. Этих ресурсов достаточно для установки серверного и клиентского программного обеспечения.

5.2 Анализ потребностей. На основе информации о предметной области строится деловая модель.

Таблица 5.2.1 - Деловая модель.

Класс данных

Функции Соискатель

Организация

Персонал

агентства

Договор

Вакансия

Должность

Варианты

занятости

Профессия

Регистрация в кадровом агентстве * * * *

Оформление /подписание договора с ЮЛ * * * * *

Регистрация вакансии * * * * *

Поиск кандидатов * * * * *

Направление на собеседование * * * *

Поддержка актуальности информации * * * * *

Page 20: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

20

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

5.3 Построение частных ER-диаграмм на основании деловой модели.

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

Регистрация в кадровом агентстве.

Рисунок 5.3.1 - ER-диаграмма функции «Регистрация в кадровом агентстве».

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

Опишем множества сущностей участвующих в этой функции:

Соискатель (№С., Фамилия, Адрес, Пол, Возраст,…);

Page 21: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

21

Организация (№О., название, вид деятельности);

Персонал (№П., фамилия);

Вариант занятости (№В., описание);

Тип лицензии(№Л., наименование);

АТО (№АТО, название)1;

Ребенок (№Р, год рождения, пол, имя)

Овалами в ER – диаграмме представляются множества значений. В частности, здесь присутствует множество значений «Должности» и соответствующий ему простой атрибут «должность».

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

Регистрация вакансии.

Рисунок 5.3.2. ER-диаграмма функции «Регистрация вакансии».

Вакансия (№В, условия приема на работу)

Организация (№О, ФИО контактного лица/руководителя, вид деятельности)

Персонал агентства (№П).

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

1 АТО – административно-территориальное образование.

Page 22: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

22

Оформление договора с организацией.

Рисунок 5.3.3. ER-диаграмма функции «Оформление договора с организацией»

Организация(№О., название, ИНН, № счета);

Договор (№Д, оплата, срок, организация);

Вакансия (№В., профессия, возраст, пол, условия);

Банк (№Б., реквизиты);

Поиск кандидатов.

Рисунок 5.3.4. ER-диаграмма функции «Поиск кандидатов»

Вакансия (№В., профессия, возраст, пол, условия);

Соискатель (№С., Фамилия, Адрес, Пол, Возраст,…);

Page 23: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

23

Вариант занятости (№В., описание).

Направление на собеседование

Рисунок 5.3.5. ER-диаграмма функции «Направление на собеседование»

Персонал агентства (№П)

Вакансия (№В, описание)

Соискатель (№С, ФИО)

Организация (№О, дислокация, название).

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

В следующей главе определим множества сущностей и их атрибуты.

5.4 Определение множеств сущностей и их атрибутов.

В этом параграфе подробно опишем основные типы сущностей с их атрибутами.

1) Множество сущностей «Соискатель». Анкетная информация о специалисте.

Атрибуты

Описание атрибута Тип данных

Код Код анкеты в базе данных (идентификационный код человека)

целое

Page 24: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

24

ФИО Фамилия, Имя, Отчество Строка

Адрес Адрес Строка

Год рождения По году рождения вычисляется возраст соискателя

Дата

Прописка Адрес прописки Строка

Пол Пол Строка

Семейное положение

Выбирается из определенного набора значений Строка

Дата Дата заполнения анкеты(регистрации) Дата

Архив Признак наличия анкеты в активной проработке или же в архиве по причине трудоустройства или иной

Логический

Статус Признак занятости специалиста Логический

Комментарии Служебные пометки Текстовый

2) Множество сущностей «Организация». Информация о предприятиях

Атрибуты

Описание атрибута Тип данных

Код Код организации в базе данных Целое

Имя Название организации Строка

Цель Вид деятельности Текстовый

Главный ФИО руководителя Строка

ИНН Индивидуальный налоговый номер Строка

Счет Номер банковского счета Строка

Page 25: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

25

3) Множество сущностей «Персонал агентства» Информация о менеджерах

Атрибуты

Описание атрибута Тип данных

Код Код работника Целое

Имя ФИО работника Строка

Расписание Расписание его работы Текстовый

Должность Занимаемая должность Строка

4) Множество сущностей «Договор»

Атрибуты

Описание атрибута Тип данных

Код Номер договора Целое

Оплата Сумма договора Вещественное

Период Время в течении которого агентство обязуется подобрать кандидатов (в днях)

Целое

Статус Статус договора – оплачен/в работе… Логическое

Архив Признак архива Логическое

5) Множество сущностей «Вакансия»

Атрибуты

Описание атрибута Тип данных

Код Код вакансии Целое

Зарплата Оплата, на вакантной должности Вещественное

Пол Желаемый пол Символ

Возраст Возрастные ограничения Целое

В/О Нужно или нет высшее образование Логический

Опыт Необходимый опыт работы Текстовый

Компьютер Уровень владения компьютером Текстовый

Page 26: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

26

Семейное положение

Семейное положение Строка

Дети Наличие детей Строка

Местная прописка

Нужна ли местная прописка Логический

График Рабочий день Текстовый

Контракт Оформляют ли человека в штат организации Строка

Испытательный срок

Имеет ли место испытательный срок Строка

Оплата Кто оплачивает поиск Строка

Дата Дата оформления заявки Дата

5.5 Определение множеств связей. Таблица 3.5.1 – Множества связей.

Тип связей Семантика связи Тип отношения

Атрибуты связи

Дети

соискателя

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

Множество сущностей «Дети» является слабым по отношению к множеству сущностей «Соискатель».

1:M

Профессии

соискателя

Определяет профессии соискателя. У каждого соискателя не менее одной профессии, максимальное число не ограничено. Каждой профессии может соответствовать от 0 до неограниченного количества соискателей.

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

N: M

Page 27: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

27

Лицензии

Соискателя

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

M:N

Уровень

владения

языком

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

M:N уровень знания

ПМЖ

(соискатель

-

АТО

)

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

Множество сущностей «Соискатель» является слабым по отношению к множеству сущностей «АТО».

1:M

Варианты

трудоустройства

соискателя

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

Множество сущностей «Варианты

трудоустройства» является слабым по отношению к множеству сущностей «Соискатель».

1:M

Направление

на

собеседование

(Перс.

- Вак

-я -

Соиск

.-ль)

Любой соискатель может быть направлен на несколько вакансий не более чем одним менеджером.

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

1(П):M(В):N(С)

кто_оплачивает

Служба

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

N:M

дата начала

дата окончания

навыки

причина ухода

должность

Подразделе

ние

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

1:M

Page 28: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

28

Дислокация

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

Множество сущностей «Организация» является слабым по отношению к множеству сущностей «АТО».

1:M Заключенн

ый договор Каждая организация может

заключить с КА несколько договоров. 1:M

Исполняю

щий

банк Каждый банк может обслуживать

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

1:M

Договор

-Вакансия

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

Множество сущностей «Договор» является слабым по отношению к множеству сущностей «Вакансия».

1:М

Регистрация

вакансии

Каждый менеджер может принять от любой организации N вакансий (где N>=1).

Множество сущностей «Вакансия» является слабым по отношению к множествам сущностей «Персонал» и «Организация».

1:1: N

Page 29: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

29

5.6 Определение ограничений целостности.

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

Кроме того, нужно учесть ограничения целостности на значения атрибутов. К примеру, годы рождений специалистов в базе данных должны принадлежать некоторому заданному промежутку, пол должен быть либо ‘м’ либо ’ж’, время работы менеджеров выбирается из диапазона {8:00 , 20:00} и т. д.

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

Рассмотрим ограничения целостности по существованию (зависимость существования). В полученной ER – диаграмме множества сущностей «Варианты занятости», «Ребенок» зависимы по существованию от множества сущностей «Соискатель». Множества сущностей «Соискатель» и «Организация» зависимы от множества сущностей «АТО» и т.д. Все зависимости существования и их описание приведены при определении множеств связей.

5.7 Обобщение полученных результатов в общую ER – диаграмму.

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

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

Page 30: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

30

Рисунок 5.7.1 – Интегрированная ER – диаграмма.

Page 31: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

31

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

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

Правила трансформации ERM в реляционную модель.

1. Каждое множество сущностей представляется самостоятельным отношением. Атрибуты множества сущностей становятся атрибутами отношения.

2. Множество связей 1:N без собственных атрибутов представляется дублированием первичного ключа отношения с 1 в отношение с N.

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

4. Связи типа N:M представляются самостоятельным отношением определенным на первичных ключах множеств сущностей входящих в это множество связей.

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

Соискатель (код., фамилия, возраст(год текущий - год рождения), адрес, к/проф., к/АТО,...);

Организация (код, назв., ИНН, номер счета, к/АТО, к/персонал, вид деятельности,…);

Служба (код, нач., оконч., к/орг-и, к/должности, навыки);

Договор (код, к/орг., оплата, срок, к/банка)

Вакансия (код, требования, к/проф., к/орг., к/договора, к/персонала)

АТО (код, код города, город, страна)

Направление (код, к/соиск., к/орг., к/вак., оплата, дата-время)

Тип лицензии (код, название)

Должность (код, название)

Вариант занятости (код, описание)

Профессия (код, название)

Профессия соискателя (к/проф., к/соиск.)

Лицензия соискателя (к/лиц., к/соиск.)

Персонал агентства (код, к/соиск., начало работы, окончание работы)

Язык (код, название)

Степень владения (к/соиск, к/язык, к/ уровень)

Page 32: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

32

Ребенок (к/реб., год рождения, пол)

Рисунок 5.7.1 – Реляционная схема

Page 33: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

33

6. РЕАЛИЗАЦИЯ КЛИЕНТСКОЙ ЧАСТИ.

Для операций с данными, содержащимися в таблицах базы данных, используются наборы данных. В терминах Delphi набор данных – это совокупность записей, взятых из одной или нескольких таблиц БД. Для работы с наборами данных в Delphi предусмотрены компоненты типа Table, Query, StoredProc. Базовые возможности доступа к данным обеспечивает класс TDataSet. В нашем случае в качестве интерфейса доступа к источнику данных используется технология ADO.

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

TADOConnection

TADOCommand

TADODataSet

TADOTable

TADOQuery

TADOStoredProc

TADORDSConnection.

Базовые методы они наследуют от соответствующих им классов TDataSet, TTable и т. д.

6.1 Подключение к источнику данных. Визуальная среда Delphi предоставляет удобный интерфейс подключения к

источнику данных.

Поскольку в качестве источника данных у нас имеет место MS SQL Server 2000, то при установке свойства ConnectionString объекта ADOConnection в инспекторе объектов Delphi выбираем поставщика данных – Microsoft OLE DB Provider for SQL Server. Далее, предлагается указать имя сервера, а также имя пользователя и пароль для подключения. После ввода этих данных становятся доступными для выбора базы данных конкретного сервера. Указав все необходимые параметры, получим сформированную «строку подключения». Например, такую: «Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Career». Где Career – имя базы данных.

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

Page 34: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

34

Рисунок 1. Диалог установления подключения к источнику данных.

Кроме этого, существует возможность напрямую не использовать объект типа ADOConnection. К соответствующему свойству ConnectionString можно получить доступ в объекте ADOQuery, ADOCommand, ADODataSet, ADOTable. Или же установить в свойстве Connection этих объектов имя созданного соединения (ADOConnection)1.

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

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

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

1 В работе, для доступа к данным, будет использоваться объект ADOQuery.

Page 35: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

35

Когда оператор подготавливается, ODBC драйвер SQLServer создает временную хранимую процедуру для этого оператора. Эта временная хранимая процедура существует в tempdb и не сбрасывается до тех пор, пока не закроются объекты Connection. Кроме этих, существуют другие свойства. Например, свойство SQL, позволяет задать текст запроса к источнику данных. После определения этого свойства, необходимо установить свойство Active в true, или вызвать метод Open для набора данных.

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

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

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

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

Список файлов с резюме формируемый на основании содержимого каталога, указанного в соответствующем свойстве. Можно также задать маску для типов отображаемых файлов. В нашем случае это *.doc. Каталог содержит файлы с резюме соискателей, которые открываются из оболочки. Список реализован с помощью компонента FileListBox.

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

Список реализован компонентом ListView, дерево объектов - TreeView. Кроме того, существует возможность управлять содержимым столбцов в списке. К примеру, можно в первом столбце показывать номер направления, во втором дату выдачи. Либо изменить на другие данные.

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

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

Page 36: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

36

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

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

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

Форма «Карта предприятия». Эта форма служит для заполнения так называемой карточки предприятия. В нее входят такие поля как название, вид деятельности, местоположение, фамилия руководителя и т.д. Также можно заполнить реквизиты организации. На следующей странице формы расположены поля для ввода информации о подразделениях предприятия. Частным случаем подразделения может являться факультет или кафедра ВУЗа, где соискатель учился.

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

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

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

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

Здесь тоже предусмотрена отправка содержимого формы на печать.

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

Page 37: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

37

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

6.2. Генерация отчетов.

В приложении предусмотрено создание стандартных и пользовательских отчетов2. В среде Delphi есть возможность использования нескольких наборов компонентов для работы с отчетами. Среди них можно назвать Rave Report и Quick Report. В своей работе я использую Quick Report. Хотя Rave предоставляет более широкие возможности по работе с отчетами, но в процессе их сравнения на практике было принято решение использовать Quick Report. Его средств оказалось вполне достаточно для реализации всего запланированного.

Можно выделить следующие виды отчетов:

простой отчет

отчет для группированных данных

составной отчет (объединяет несколько отдельных отчетов).

Стандартные простые отчеты формируются по данным из форм – «Анкета», «Направление» и «Вакансия». В этом случае в отчет попадают данные из всех или почти из всех полей соответствующей формы. В каждом отчете существует возможность предварительного просмотра и печати. Также возможно экспортировать отчет в один их распространенных форматов (html, txt, csv).

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

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

1 Статус = (трудоустроен, безработный, готов уволится). 2 Отчет – печатный документ, содержащий данные, аналогичные результату выполнения запроса к БД.

Page 38: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

38

6.3. Сопоставления.

Сопоставление имеет смысл автоматического подбора вакансий конкретному соискателю, либо наоборот – подбор соискателей, подходящих конкретной вакансии. Этот механизм удобен тем, что можно запустить процедуру сопоставления еще до «официальной» регистрации вакансии или соискателя. Кнопка запуска процедуры сопоставления расположена на соответствующих формах («Анкета» и «Вакансия»). Результаты также отображаются в StringGrid. То есть, заполняя форму «Вакансия» можно сразу же подобрать подходящих кандидатов.

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

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

Мастер веб-публикаций. Как и мастер отчетов, веб-мастер состоит из нескольких страниц, соответствующих этапам создания веб-публикации. На первом шаге пользователю предлагается выбрать тип объектов для размещения. Это могут быть данные из анкет соискателей или вакансии. Затем нужно выбрать поля, соответствующие полям таблиц базы данных, данные из которых будут выбраны для размещения на сайте. На втором шаге предлагается произвести уточнение запроса, т.е. наложить на данные определенные условия. Допустимы операции “>”, “<”, “=”, “<>”. Наконец, на последнем шаге, пользователю представляется на рассмотрение окончательно подготовленный запрос.

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

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

Page 39: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

39

ЗАКЛЮЧЕНИЕ.

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

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

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

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

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

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

Page 40: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

40

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.

1. Е. Мамаев. MS SQL Server 2000. Спб: «БХВ-Петербург», 2001, 1280с.

2. Кузнецов С.Д. SQL. Язык реляционных баз данных. "Майор" - 2001, 192 стр.

3. Джексон Г. «Проектирование реляционных баз данных», М.: Мир, 1991г., 252с.

4. Конноли Т., Бегг К. «Базы данных: проектирование, реализация и сопровождение. Теория и практика», М.: Вильямс, 2000г.

5. www.osp.ru - «Открытые системы», Г.М.Ладыженский. Системы управления базами данных - коротко о главном. // Системы управления базами данных 1995г., №02.

6. www.osp.ru - «Открытые системы», В. Коржов. Архитектура «клиент-сервер».

// Системы управления базами данных 1996г., №05

7. Цикритзис Д., Лоховски Ф . Модели данных. М.: ФиС, 1985, 344с.

8. В. Гофман, А. Хомоненко Delphi 5. Спб: «БХВ-Петербург», 2001. – 800с.:ил.

9. www.sql.ru Алексей Шуленин. XML в MS SQL Server 2000 и технологиях доступа к данным. //Конференция "Корпоративные базы данных 2002"

10. www.sql.ru , ADO и SQL Server. Руководство разработчика. Перевод статьи "ADO and SQL Server Developer's Guide"

11. www.codenet.ru, Александр Печерский. Язык XML.

Page 41: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

41

ПРИЛОЖЕНИЕ А ОПИСАНИЕ ПРИМЕНЕНИЯ.

Программная система «Карьера» представляет собой клиент-серверное приложение, рассчитанное на работу под управлением операционной системы Windows NT/XP. В качестве сервера баз данных выступает Microsoft SQL Server 2000. Для работы информационной системы необходимо, чтобы сервер был запущен. Об этом свидетельствует соответствующий значок в панели задач.

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

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

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

Сохранение информации в базе данных.

Вывод контекстной подсказки.

Вывод справочной информации.

Создание стандартных и пользовательских отчетов, вывод их на печать.

Просмотр и модификация данных.

Поиск различных данных.

Возможность создания веб-публикаций.

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

Главное окно программы. Главное окно программы, это то, что появляется на экране, при запуске программы.

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

Page 42: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

42

Рисунок А.1 – Главное окно приложения.

На рисунке А.1 цифрами помечены объекты для дальнейшего описания.

Под маркером «2» – список типов объектов для отображения в списке «1». Объекты списка «1» могут быть пяти видов. Это: анкеты, направления, вакансии, организации, договоры. Кроме этого, для списка «1» (находится в правой части окна) возможно изменение значения столбцов. Эти настройки находятся в окне настроек, которое будет описано ниже. При выборе из списка «2» соответствующего типа, все объекты этого типа отобразятся в списке «1». В списке «3» отображаются файлы с резюме, которые расположены в подкаталоге \Resume каталога программы. Сменить каталог с файлами-резюме можно в окне настройки системы. Маркером «4» помечено главное меню программы. Оно состоит из 4 пунктов. Рассмотрим каждый из них.

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

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

3. Подпункты меню «Переход» полностью соответствуют значениям списка «2».

Page 43: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

43

4. И, наконец, меню «Действие» содержит следующие пункты: «Быстрый поиск» (вакансии, специалиста), «Мастер отчетов», «Мастер веб-публикаций».

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

Анкета Это окно служит для добавления в базу данных анкеты соискателя. Оно содержит

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

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

В анкете присутствуют, так называемые, поля «множественного заполнения». Они имеют вид:

Рисунок А.2 – Поля «множественного заполнения».

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

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

Кнопка «Новая» - сброс содержимого полей, без сохранения в базу данных.

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

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

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

На следующей иллюстрации изображено окно «Анкета».

Page 44: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

44

Рисунок А.3 – Окно «Анкета».

Page 45: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

45

Вакансия Эта форма служит для добавления в базу данных информации о вакансии. Она

содержит поля для ввода этой информации. Семантика практически всех полей этой формы совпадает с аналогичными полями формы «Анкета».

Рисунок А.3 – Окно «Вакансия».

Кроме этого на форме расположены четыре кнопки. Опишем их назначение.

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

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

Значение кнопки «Добавить организацию» аналогично соответствующей кнопке в форме «Анкета».

И, наконец, кнопка «Принять» сохраняет введенные данные в базу данных.

Обязательными являются поля «профессия», «организация», «принял». Остальные заполняются по надобности.

Page 46: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

46

Направление Диалог «Направление» служит для выписки направлений соискателям. Причем

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

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

Заметим, что здесь все поля являются обязательными для заполнения.

Организация Эта форма предназначена для заполнения сведений о предприятии или

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

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

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

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

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

Page 47: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

47

Рисунок А.4 – Окно «Организация».

Быстрый поиск специалиста/вакансии. Это окно можно вызвать из главного меню «Действие» -> «Быстрый поиск». Окно

состоит из полей для задания параметров поиска и списка результатов поиска. При запуске окна список результатов пуст.

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

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

Page 48: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

48

Рисунок А.5 – Поля ввода параметров поиска специалистов(слева) и вакансий (справа).

Здесь обязательным для заполнения является поле «Профессия».

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

Рисунок А.6 – Список результатов поиска вакансий.

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

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

Page 49: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

49

Работа с отчетами. Отчетом будем называть печатную форму, соответствующую содержимому

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

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

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

Окно отчета. Окно любого отчета содержит сам отчет, в таком виде, как он будет на бумаге и

меню формы отчета. Меню состоит из следующих пунктов: «Печать», «Экспорт», «Мастер отчетов».

При нажатии на пункт «Печать» готовый отчет отправляется на принтер.

«Экспорт» позволяет сохранить отчет в одном из распространенных форматов.

И, наконец, «Мастер отчетов» запускает мастер отчетов, который рассмотрим ниже.

Мастер отчетов. Окно мастера отчетов имеет следующий вид.

Рисунок А.7 – Окно мастера отчетов.

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

Page 50: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

50

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

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

Работа с мастером веб-публикаций. Мастер веб-публикаций имеет практически ту же структуру и принципы работы,

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

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

На втором шаге предлагается определить условия выборки документов. Возможны следующие варианты: выбираются все документы, либо документы, удовлетворяющие определенному критерию. Критерий задается здесь же. Критерий имеет вид: «имя поля» {=, >, <, <>} «значение». Возможно соединение двух таких выражений при помощи «и»/ «или». После очередного нажатия кнопки «Далее» получим сгенерированный документ, который будет храниться в файле web.xml текущего каталога. Его необходимо скопировать на сервер, где размещен сайт.

Окно настроек. В окне настроек программы, которое вызывается из меню «Вид», можно задать

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

Page 51: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

51

ПРИЛОЖЕНИЕ Б ОПИСАНИЕ ПРОГРАММЫ

База данных. Информационная система «Карьера» состоит из базы данных Career под

управлением СУБД MS SQL Server 2000 и программной оболочки, разработанной в среде Borland Delphi 7.

Для работы информационной системы необходимо, прежде всего, установить СУБД MS SQLServer 2000. В зависимости от редакции необходимо иметь соответствующую версию операционной системы MS Windows. В процессе разработки использовалась редакция Microsoft SQL Server 2000 Developer Edition и операционная система Microsoft Windows XP Professional Edition1.

Сама база данных состоит из двух файлов. Это собственно файл с данными и журнал транзакций. По умолчанию эти файлы создаются и хранятся в директории \mirsosoft sql server\mssql\data. Файл данных имеет название Career_data.mdf, а файл журнала транзакций - Career_log.ldf.

Запуск сервера производится при помощи графической утилиты SQL Server Service Manager. Можно назначить автоматический запуск сервера при старте операционной системы.

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

Создание базы данных, а также таблиц осуществлялось средствами графического интерфейса Enterprise Manager. На настоящий момент база данных (не загруженная) имеет размер 2,75Мб.

Спроектированная база данных состоит из 17 таблиц. Это:

fl (Соискатель)

work (Служба)

personal (Персонал агентства)

ul (Организация)

ATO (Административно-территориальное образование)

Prof (Профессии)

fl_prof – Для связи соискателя и профессий

vacancy (Вакансия)

contract (Договор)

subunit (Подразделение)

bank (Банк)

1 О совместимости версий операционных систем и редакции СУБД смотрите в документации по Microsoft SQL Server 2000.

Page 52: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

52

orders (Направления)

position (Должность)

fl_license Для связи соискателя с лицензиями

variants (Варианты занятости)

child (Дети)

lang (Языки)

fl_lang_rank Для связи соискателя с языками.

Таблицы построены на суррогатных ключах (поле id таблиц).

Ограничения целостности, определенные в схеме БД. 1. Ограничения целостности Unique определено для первичных ключей всех таблиц,

и для обеспечения связей 1:1.

2. Ограничение целостности Cascade определено для таблиц, связанных с таблицей «Соискатель», «Организация» и др.

Ограничения целостности, определенные в клиентской программе. Ограничения целостности типа Check, в целях оптимизации запросов по времени реализованы на стороне клиента БД. Это:

a. Годы рождения в таблицах fl, personal, child принадлежат интервалу {1930, 1990}, причем годы рождения детей <=(20+год рождения родителя).

b. Пол в таблице fl выбирается из (м , ж).

c. Категории вождения выбираются из (a, b, c, d, e).

d. В таблице work год начала службы <= году окончания.

e. Поля result в таблицах vacancy, order могут содержать либо «0» - что соответствует неудаче, либо «1», что соответствует успеху.

f. Поля status могут принимать значения 1 или 0. 0 соответствует статусу «текущая», 1 – «архивная».

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

Умолчания. В базе данных приняты следующие значения по умолчанию. В случае если не

установлено иное, в поле name таблицы АТО будет вписано «Томск». Поле status для таблиц vacancy и fl по умолчанию содержит значение 0 (текущая). Поле status1 таблицы fl по умолчанию содержит запись «безработный».

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

Хранимые процедуры создаются на языке Transact-SQL. Кроме стандартных инструкций языка SQL в него добавлены условные конструкции и др.

Page 53: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

53

Триггеры определяются для конкретной таблицы.

Таблица 5.1 – Процедуры БД.

Название Семантика Способ запуска

AnToArch Если анкета не использовалась больше года, то выставляется статус «архив»

Автоматически, по расписанию

ResultOk Если в направлении выставлен результат = успех, то статус анкеты становится «трудоустроен»

Автоматически, по расписанию

GetManager

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

Insert -триггер

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

При сохранении документа

Graduate Перевод в категорию «выпускник» в случае окончания ВУЗа Вручную

ProlongC Продление сроков действия договоров Вручную

Arhiving Отправка в архив документа Вручную

DateToAge Преобразование года рождения в возраст В запросах на выборку

Stat Ведение статистики по менеджерам и успешным вакансиям. По расписанию

VacStatus

Если истек срок договора и статус всех направлений «неудача», то выставляется статус «неудача» у вакансии и она архивируется.

По расписанию

Программный код некоторых процедур базы данных. 1. AnToArch

CREATE PROCEDURE . AnToArch AS DECLARE @dat datetime

select @dat=dat_mod from fl

IF YEAR(getdate())>YEAR(@dat)and MONTH(getdate())>MONTH(@dat)

update fl set archive=1

2. AnStatus CREATE PROCEDURE ResultOK AS

Declare @fl int

select @fl=id_fl from orders where orders.result='успех'

Page 54: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

54

update fl set fl.status=1 where fl.id=@fl

3. GetManager CREATE TRIGGER GetManager ON orders FOR INSERT AS if orders.id_personal is null then

insert into orders.id_manager

select id from personal

where datepart(hh,getdate()) > datepart(hh, personal.begw) and datepart(hh,getdate())< datepart(hh, personal.endw)

4. AddDat CREATE TRIGGER AddDat ON [dbo].[fl] FOR INSERT AS

update fl set dat=getdate()

5. AddDatLastUse CREATE TRIGGER AddDatLastUse on fl

FOR UPDATE AS

update fl set dat_mod=getdate()

6. Graduate CREATE PROCEDURE Graduate @id int AS update fl set student=0

where fl.id=@id

7. ProlongC CREATE PROCEDURE ProlongC @dat datetime AS update contract set period=@dat

8. VacStatus CREATE PROCEDURE VacStatus AS

DECLARE @invalid datetime, @id int

select @invalid=period, contract.id from contract

where datediff(mm,period, getdate())<0

if @invalid is not null

select @id=id from orders

where result='успех'

if @id is null

update vacancy set result='неудача'

else update vacancy, orders

set result='успех'

where vacancy.id=orders.id_vacancy

else return

Page 55: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

55

Программная оболочка. На рисунке представлена схема форм приложения. Подписана семантика и

название соответствующего модуля, реализующего форму.

Дугами показана зависимость между формами.

Рисунок Б.1 – Схема форм программной оболочки.

Теперь рассмотрим содержащиеся в проекте формы подробнее.

MainForm – главная форма проекта; в ней содержатся процедуры создания всех остальных форм и реализация меню вызовов остальных форм. Здесь же реализован список объектов, располагающийся на главной форме и список файлов-резюме1. В модуль формы включены компоненты ADOQuery – для реализации запросов к базе данных, XPManifest – для реализации стилей XP и MainMenu – для реализации главного меню.

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

Orderform – в этом модуле осуществляется вся работа по сохранению, извлечению информации о направлениях, привязка направления к соискателю, вызов процедуры создания отчета. Доступ к данным осуществляется при помощи компонента ADOQuery.

Vacancy – реализация процедур регистрации вакансии. Редактирование вакансий. Вызов процедуры создания отчета.

1 «Скриншот» главной формы приложения смотрите в приложении А, страница 10.

Page 56: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

56

ContractForm - реализация процедур составления договора. Вызов процедуры создания отчета. Доступ к данным осуществляется при помощи компонента ADOQuery.

Ulform - реализация процедур добавления в базу данных информации о предприятии или организации. Редактирование этих сведений. Вызов процедуры создания отчета. Доступ к данным осуществляется при помощи компонента ADOQuery.

Lookup – в этом модуле находятся процедуры поиска соискателей/вакансий. В зависимости от типа поиска на форме отображаются те или иные поля для ввода параметров. Процедура поиска вакансий/специалистов реализована соответственно в процедурах TLookUP.VacancySearch и TLookUP.PeopleSearch. При нажатии на строку результата создается стандартный отчет по данным, выбранного таким образом документа. Доступ к данным осуществляется при помощи компонента ADOQuery.

MatchResult - форма для выводов результатов сопоставления вакансии и соискателей. В элемент управления StringGrid выводятся результаты сопоставления. Сама процедура сопоставления реализована в модуле Vacancy, там же реализовано и заполнение таблицы StringGrid результатами.

Rep, vacrep, orderrep, ulrep, contractrep - модули в которых реализованы стандартные отчеты. На соответствующих формах расположен статический текст для подписи семантики полей с данными и собственно поля данных. Доступ к данным осуществляется при помощи компонента ADOQuery. Для создания отчетов используется компонент QuickReport.

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

Webwizard – этот модуль реализует процесс веб-публикаций. Здесь создается xml-файл, методом savetofile класса TADOQuery по данным запроса, сгенерированного пользователем. Для генерации запроса пользователь устанавливает таблицы, поля и условия отбора данных. Далее, для создания html-страницы, созданный xml-документ обрабатывается JavaScript-сценарием. В этом сценарии при помощи методов DOM1 извлекается информация из соответствующих атрибутов документа и в надлежащем виде предоставляется веб-пользователю.

1 О DOM можно прочитать на странице 16 данной работы.

Page 57: СОЗДАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ...inf.tsu.ru › library › DiplomaWorks › CompScience › 2004 › ... · 2004-06-21 · 3.1 Архитектура

57

ПРИЛОЖЕНИЕ В СХЕМА БАЗЫ ДАННЫХ