- •Введение
- •Глава 2 посвящена вопросам разработки технического задания, процессу проектирования и построения системы. Рассматриваются вопросы:
- •Глава 3 описывает методику тестирования разработанного приложения, вопросы эксплуатации, этап разработки программной документации.
- •Глава 1. Анализ задачи построения системы электронного учета вакансий на предприятии оао Белзан
- •1.1 Вакансии на предприятии
- •1.2 Требования, предъявляемые к системе Vakansia
- •1.3 Определение класса решаемой задачи
- •1.4 Определение критериев выбора средств и методов решения задач
- •1.5 Технология построения windows-приложений на базе технологии Windows Forms .Net
- •1.6 Механизм взаимодействия с базой данных
- •1.7 Разработка технического задания
- •Глава 2 Проектирование и разработка программы Vakansia
- •2.1 Анализ исходных данных. Разработка требований.
- •2.2 Архитектура приложения.
- •2.3 Информационное обеспечение
- •2.4 Математическое обеспечение
- •2.4.1 Алгоритмическое обеспечение проекта
- •2.4.1.1 Логическая структура базы данных
- •2.4.1.2 Физическая модель данных
- •2.4.1.3 Схема данных
- •2.4.1.4 Хранимые процедуры
- •2.4.1.5 Sql запросы
- •2.4.2 Программное обеспечение проекта
- •2.4.2.1 Структура windows-приложения
- •2.4.2.2 Описание основных модулей приложения
- •Глава 3. Реализация и тестирование
- •3.1 Дистрибутив приложения. Развертывание
- •3.2 Реализация тестирования
- •Заключение
- •Список литературы
- •Приложение а (обязательное) Техническое задание
- •Приложение б (обязательное) Описание программы
- •Приложение b (обязательное) Программа и методика испытаний
- •Приложение г (обязательное) Руководство пользователя
- •Приложение д
- •Приложение ж Презентационный материал
2.4.1.3 Схема данных
Рассмотрим более подробно структуру таблиц базы данных.
Таблица ANKETAсодержит полную информацию о кандидате на вакансию, включая: паспортные данные, место жительство (прописка и фактический адрес проживая), наличие судимости. Все эти поля представлены идентификаторами, связанными с таблицей SPRAVICHNIK. В таблицы также храниться путь к файлу с фотографиями кандидата. Так же в таблицу заносится информация о последнем пользователе, вносившем изменение.
В таблице 2.1 представлены описание, и размерность основных полей таблицы ANKETA.
Таблица 2.1 – Поля таблицы ANKETA
Поле |
Тип данных, размерность |
Описание |
CODE_SEMIA |
INTEGER |
Идентификатор наличия детей |
CODE_NASIONAL |
INTEGER |
Идентификатор национальности |
CODE_GR |
INTEGER |
Идентификатор гражданства |
DATE_ZAP |
DATE |
Дата заполнения анкеты |
POL |
INTEGER |
Идентификатор пола |
OTCH |
VARCHAR, 200 |
Отчество |
IM |
VARCHAR, 200 |
Имя |
FAM |
VARCHAR, 200 |
Фамилия |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_ANKETA_ID |
DATA_DR |
DATE |
Дата рождения |
ZP_OT |
VARCHAR, 20 |
Зарплата от |
ZP_DO |
VARCHAR, 20 |
Зарплата до |
CODE_PK |
INTEGER |
Идентификатор владения ПК |
SUD1_TEXT |
VARCHAR, 500 |
Примечание: привлекался к уголовной ответственности |
Таблица ANKETA_TESTсодержит информацию о пройденных тестах кандидата на вакансию. Она содержит информацию о количестве набранных балов, процент правильных ответов. В таблице 2.2 представлено описание, и размерность каждого из полей.
Таблица 2.2 – Поля таблицы ANKETA_TEST
Поле |
Тип данных, размерность |
Описание |
BAL |
INTEGER |
Количество набранных балов |
CODE_TEST |
INTEGER |
Идентификатор теста |
CODE_ANKETA |
INTEGER |
Идентификатор кандидата |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
BAL_MAX |
INTEGER |
Максимально возможное количество баллов |
PROZ |
FLOAT |
Процент правильных ответов |
TIME_OTV |
TIME |
Время ответа |
CODE_REZULTAT |
INTEGER |
Идентификатор результата |
Таблица HISTORY_TEST_VOP содержит информацию о вопросах, на которые отвечал кандидат на вакантное место. В таблице 2.3 представлено описание, и размерность каждого из полей.
Таблица 2.3 – Поля таблицы HISTORY_TEST_VOP
Поле |
Тип данных |
Описание |
CODE_VOP |
INTEGER |
Идентификатор вопроса |
N_VOP |
INTEGER |
Номер по порядку выпавший при тестирование |
CODE_REZ |
INTEGER |
Идентификатор теста |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
Таблица HISTOPY_TEST_OTVсодержит информацию об ответах на вопросы теста кандидата на вакантное место. В таблице 2.4 представлено описание, и размерность каждого из полей.
Таблица 2.4 – Поля таблицы HISTOPY_TEST_OTV
Поле |
Тип данных, размерность |
Описание | ||
OTVET_BB |
INTEGER |
Количество баллов за ответ | ||
OTVET_RIGTH |
INTEGER |
Правильный ответ | ||
OTVET_USER |
INTEGER |
Выбран ли ответ как правильный | ||
CODE_OTV |
INTEGER |
Идентификатор ответа | ||
CODE_HVOP |
INTEGER |
Идентификатор вопроса | ||
OTVET_STR_USER |
VARCHAR, 1000 |
Текстовый ответ пользователя | ||
N_OTV |
INTEGER |
Номер по порядку ответа при прохождения тестирования | ||
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
Таблица DETIсодержит информацию о детях кандидата на вакансию. В таблице 2.5 дано описание, и размерность каждого из полей.
Таблица 2.5 – Поля таблицы DETI
Поле |
Тип данных, размерность |
Описание |
DATE1 |
DATE, 8 |
Дата рождения ребенка |
NAME |
VARCHAR, 500 |
Имя ребенка |
CODE_ANKET |
INTEGER |
Идентификатор кандидата |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_ANKETA_ID |
Таблица DOP_PROFсодержит информацию о должности/ профессии где желает работать кандидат на вакантное место. В таблице 2.6 представлено описание, и размерность каждого из полей.
Таблица 2.6 – Поля таблицы DOP_PROF
Поле |
Тип данных, размерность |
Описание |
CODE_PROF |
INTEGER |
Идентификатор должности/ профессии |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_ANKETA_ID |
CODE_ANKETA |
INTEGER |
Идентификатор кандидата |
Таблица IN_YAZсодержит информацию о владение иностранным языком кандидата на вакантное место. В таблице 2.7 представлено описание, и размерность каждого из полей.
Таблица 2.7 – Поля таблицы IN_YAZ
Поле |
Тип данных, размерность |
Описание |
CODE_VLAD |
INTEGER |
Идентификатор владения языком |
CODE_IN |
INTEGER |
Идентификатор иностранного языка |
CODE_ANKET |
INTEGER |
Идентификатор кандидата |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_ANKETA_ID |
Таблица OBRAZ содержит информацию об образование кандидата на вакантное место, включая год окончания, профиль, факультет, специальность наименование учебного заведения, представленным так же идентификатором, свеянным с таблицей SPRAVICHNIK. В таблице 2.8 представлено описание, и размерность каждого из полей.
Таблица 2.8 – Поля таблицы OBRAZ
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_ANKETA_ID |
CODE_NAME |
INTEGER |
Идентификатор наименования учебного заведения |
GOD |
INTEGER |
Год окончания обучения |
CODE_FORMA |
INTEGER |
Идентификатор формы обучения |
CODE_TIP |
INTEGER |
Идентификатор типа обучения |
FAKULTET |
VARCHAR, 1000 |
Факультет |
CODE_ANKETA |
INTEGER |
Идентификатор кандидата на вакансию |
CODE_PROVIL |
INTEGER |
Идентификатор профиля обучения |
SPECIAL |
VARCHAR, 1000 |
Специальность |
Таблица TRUD содержит информацию о предыдущих местах работы: наименование организации, подразделение, период работы, занимаемая должность, выполняемые обязанности, причина увольнения. В таблице 2.9 представлено описание, и размерность основных полей.
Таблица 2.9 – Поля таблицы TRUD
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_ANKETA_ID |
CODE_ANKET |
INTEGER |
Идентификатор кандидата |
DATE1 |
DATE, 8 |
Дата поступления на работу |
Продолжение таблицы 2.9
Поле |
Тип данных, размерность |
Описание |
DATE2 |
DATE, 8 |
Дата увольнения с работы |
NAME |
VARCHAR, 500 |
Наименование организации |
PROF |
VARCHAR, 500 |
Наименование должности/профессии |
OBAZ |
VARCHAR, 1000 |
Выполняемы обязанности |
Таблица VAK содержит информацию о вакансиях на предприятии. Она включает в себя код должности и подразделения, период вакансии, имя пользователя вносившего изменения. В таблице 2.10 представлено описание, и размерность основных полей.
Таблица 2.10 – Поля таблицы VAK
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_OBRAZ_ID |
DATE1 |
DATE, 8 |
Дата открытия вакансии |
DATE2 |
DATE, 8 |
Дата закрытия вакансии |
CODE_DOLGN |
VARCHAR, 4 |
Код должности/ профессии |
CODE_PODR |
VARCHAR, 4 |
Код подразделения |
Таблица NAME_TEST содержит информацию о тестах для отбора кандидата на вакантное место. Она включает в себя идентификатор наименование теста, признак будет, использоваться тест или нет, а так же дополнительные параметры: перемешивать вопросы и ответы в ходе тестирования, время тестирования и количество вопросов при прохождении теста. В таблице 2.11 представлено описание, и размерность каждого из полей.
Таблица 2.11 – Поля таблицы NAME_TEST
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
CODEDOLGN |
INTEGER |
Идентификатор должности/ профессии |
NAME |
VARCHAR, 1000 |
Наименование теста |
ALLDOLGN |
INTEGER |
Использовать тест не зависимо от должности/ профессии на которую претендует кандидат |
NOTVVOD |
INTEGER |
Не использовать тест |
BALL_OTV |
INTEGER |
Учитывать балы за каждый ответ |
RANDOM_VOP |
INTEGER |
Перемешивать вопросы при тестировании в случайном порядке |
RANDOM_OTV |
INTEGER |
Перемешивать ответы при тестировании в случайном порядке |
KOL_VOP |
INTEGER |
Количество вопросов, на которые должен ответить пользователь при тестировании |
TAMI |
TIME |
Ограничить время тестирования |
Таблица VOPROSI содержит информацию о вопросах к тесту: текст вопроса, картинка к вопросу, баллы за вопрос. В таблице 2.12 представлено описание, и размерность основных полей.
Таблица 2.12 – Поля таблицы VOPROSI
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
IMG |
BLOB |
Изображение |
CODETEST |
INTEGER |
Идентификатор теста |
TEXT |
VARCHAR, 1000 |
Текст вопроса |
Таблица OTVET содержит варианты ответа на вопросы теста. Она включает в себя тест варианта ответа, признак правильного ответа, сопровождающее изображение, признак того что пользователь сам должен ввести ответ в строку ввода. В таблице 2.13 представлено описание, и размерность основных полей.
Таблица 2.13 – Поля таблицы OTVET
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
IMG |
BLOB |
Изображение |
TEXT |
VARCHAR, 1000 |
Тест ответа |
CODEVOPR |
INTEGER |
Идентификатор вопроса |
PRAVELNO |
INTEGER |
Правильный ответ |
BB_ZA_OTV |
INTEGER |
Баллы за ответ |
STR_VVOD |
INTEGER |
При тестирование должна быть строка ввода |
Таблица REZULTAT_TEST содержит информацию о возможных результатах тестирования. Она включает в себя изображение, диапазон баллов. В таблице 2.14 представлено описание, и размерность основных полей.
Таблица 2.14 – Поля таблицы REZULTAT_TEST
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
IMG |
BLOB |
Изображение |
REZULTAT |
VARCHAR, 1000 |
Описание результата |
PO |
INTEGER |
Количество баллов: по |
OT |
INTEGER |
Количество баллов: от |
CODE_TEST |
INTEGER |
Идентификатор теста |
Таблица DOPTEST содержит информацию о должностях/ профессиях для которой предназначается тест. В таблице 2.15 представлено описание, и размерность каждого из полей.
Таблица 2.15 – Поля таблицы DOPTEST
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_TEST_ID |
CODEDOLGN |
INTEGER |
Идентификатор должности |
CODETEST |
INTEGER |
Идентификатор теста |
Таблица SPRAVICHNIK содержит справочную информацию. В таблице 2.16 представлено описание, и размерность каждого из полей.
Таблица 2.16 – Поля таблицы SPRAVICHNIK
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_SPRAVICHNIK_ID |
CODE_VID |
INTEGER |
Идентификатор вида справочника |
SH_CODE |
VARCHAR, 10 |
Символьный код |
NAME |
VARCHAR, 1000 |
Наименование |
Таблица NASTROIKA содержит информацию о настройках импорта и экспорта из программы. Она содержит признак автоматического экспорта/импорта и соответствие полей базы данных с внешним файлом. В таблице 2.17 представлено описание, и размерность основных полей.
Таблица 2.17 – Поля таблицы NASTROIKA
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_SPRAVICHNIK_ID |
FORMAT |
INTEGER |
Импорт: тип файла |
PUTI |
VARCHAR, 1000 |
Импорт: путь к файлу |
TABLI |
VARCHAR, 1000 |
Импорт: имя таблицы |
TRUDPUTI |
VARCHAR, 1000 |
Экспорт: путь к файлу |
TRUDTABLI |
VARCHAR, 1000 |
Экспорт: имя таблицы |
TRUDFORMAT |
INTEGER |
Экспорт: тип файла |
AVTOTRUD |
INTEGER |
Автоматически производить импорт |
TRUDVID |
INTEGER |
Автоматически экспортировать анкету при трудоустройстве |
Таблица Z_SPISOK содержит информацию об отчетах: имя пользователя вносившего изменение, текст запроса SQL. В таблице 2.18 представлено описание, и размерность основных полей.
Таблица 2.18 – Поля таблицы Z_SPISOK
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_Z_SPISOK_ID |
WUSER |
VARCHAR, 500 |
Имя пользователя |
NAME |
VARCHAR, 500 |
Наименование отчета |
LIST2 |
BLOB SUB_TYPE 1 SEGMENT SIZE 4096 CHARACTER SET WIN1251 |
SQL запрос |
Таблица Z_SPISOK_DOP содержит информацию о дополнительных настройках отчета: наименование колонки отображаемой при печати, ширина столбца. В таблице 2.19 представлено описание, и размерность каждого из полей.
Таблица 2.19 – Поля таблицы Z_SPISOK_DOP
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_Z_SPISOK_ID |
TITL |
VARCHAR, 1000 |
Наименование столбца |
NAME |
VARCHAR, 1000 |
Наименование колонки в таблицы |
CODE_SPISOK |
INTEGER |
Идентификатор отчета |
PROSENT |
INTEGER |
Ширина колонки |
Таблица Z_SPISOK_PARAM содержит сопоставление наименования параметра в SQLзапросе и выводимого на форму пользователя. В таблице 2.20 представлено описание, и размерность каждого из полей.
Таблица 2.20 – Поля таблицы Z_SPISOK_PARAM
Поле |
Тип данных, размерность |
Описание |
CODE |
INTEGER |
Идентификатор записи в таблицы, уникальное поле, используется генератор GEN_Z_SPISOK_ID |
TEXT1 |
VARCHAR, 1000 |
Наименование параметра |
NAME |
VARCHAR, 1000 |
Наименование параметра в SQL-запросе |
CODE_SPISOK |
INTEGER |
Идентификатор отчета |