Разработка системы тестирования для кандидатов на позиции в компании с целью определения их профессиональной компетенции

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

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

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

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

Пункт "Триггеры и хранимые процедуры" определяет наличие в некоторой СУБД класса процедур, функций. Триггер - программа базы данных, вызываемая всякий раз при вставке, изменении или удалении строки таблицы. Триггеры обеспечивают проверку любых изменений на корректность, прежде чем эти изменения будут приняты. Хранимая процедура - программа, которая хранится на сервере и может вызываться клиентом. Поскольку хранимые процедуры выполняются непосредственно на сервере баз данных, обеспечивается более высокое быстродействие, нежели при выполнении тех же операций средствами клиента БД [1]. Проведем анализ альтернатив по данному пункту (таблица 1.6).

Таблица 0. 2 Анализ альтернатив по пункту "Триггеры и х ранимые процедуры"

Триггер

Функция

Процедура

DB2

+

+

+

Microsoft SQL Server

+

+

+

MySQL

+

+

+

Oracle

+

+

+

PostgreSQL

+

+

+

Пункт "Масштабируемость" предполагает возможности рассматриваемой СУБД по увеличению объема данных со временем и в случае необходимости [4]. Необходимо рассмотреть максимально возможный объем хранимых данных для каждой альтернативы (таблица 1.7).

Таблица 0. 3 Анализ альтернатив по пункту "Масштабируемость"

Размер БД

Размер таблицы

Размер строки

DB2

512ТБ

512 ТБ

32677 В

Microsoft SQL Server

524258 ТБ

524258 ТБ

?

MySQL

?

256ТВ

64KB

Oracle

?

4 Гб* Размер блока

8KB

Postgre SQL

?

32 ТБ

1,6 ТБ

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

Таблица 0. 4 Матрица попарных сравнений альтернатив по критерию "Функциональные возможности"

DB2

Oracle

MySQL

MS SQL

Postgre SQL

DB2

1

1/4

2

1/7

1/5

Oracle

4

1

1

1/4

1/2

MySQL

1/2

1

1

1/4

1/2

MS SQL

7

4

4

1

3

Postgre SQL

5

2

2

1/3

1

Вектор приоритетов: 0,07 0,13 0,09 0,49 0,22. Главное собственное значение: 5,45. Индекс согласованности (ИС): ОД 11. Отношение согласованности (ОС): 0,09. Рассмотрим критерий "Особенности разработки приложений". При рассмотрении этого критерия необходимо оценить трудозатраты на администрирование баз данных. Основные задачи такого администрирования: установка и конфигурирование базы данных, текущее администрирование базы данных, резервное копирование/восстановление [5].

Таким образом можно построить матрицу попарных сравнений альтернатив по третьему критерию (таблица 1.9), рассчитать вектор приоритетов и основные показатели.

Таблица 0. 5 Матрица попарных сравнений альтернатив по критерию "Особенности разработки приложений"

DB2

Oracle

MySQL

MS SQL

Postgre SQL

DB2

1

1

1

1/6

1

Oracle

1

1

1

1/4

1

MySQL

1

1

1

1/4

1

MS SQL

6

4

4

1

3

Postgre SQL

1

1

1

1/3

1

Главное собственное значение: 5,04. Индекс согласованности (ИС): 0,01. Отношение согласованности (ОС): 0,01.

Сравним выбранные СУБД по критерию "Производительность".

Для тестирования производительности применяются различные средства, и существует множество тестовых рейтингов. Одним из самых популярных и объективных является ТРС-анализ производительности систем. Показатель ТРС - это отношение количества запросов, обрабатываемых за некий промежуток времени, к стоимости всей системы. Следует отметить, что для СУБД PostgreSQL не проводится тест ТРС, а система MySQL проводит собственные тесты производительности. Результаты теста производительности ТРС-С представлены в таблице 1.10 [6].

Таблица 0. 6 Результаты теста TPC

Название

Количество транзакций, tpmC

Стоимость транзакции, долл. /tpmC

Монитор транзакций

Microsoft SQL Server 2005 х64

661,475

1.16USD

Microsoft COM+

Oracle Database

Standard

631,766

1.08 USD

Microsoft COM+

IBM DB2 9.5

1, 200,011

1.99 USD

Microsoft COM+

По имеющимся данным оценим рассматриваемые СУБД по критерию "Производительность", построим матрицу попарных сравнений альтернатив (таблица 1.11).

Таблица 0. 7 Матрица попарных сравнений альтернатив по критерию "Производительность"

по

DB2

Oracle

MySQL

MS SQL

Postgre SQL

DB2

1

4

5

3

5

Oracle

1/4

1

3

1/2

3

MySQL

1/5

1/3

1

1/4

1

MS SQL

1/3

2

4

1

4

Postgre SQL

1/5

1/3

1

1/4

1

Вектор приоритетов: 0,47 0,15 0,07 0,24 0,07

Главное собственное значение: 5,14. Индекс согласованности (ИС): 0,036. Отношение согласованности (ОС): 0,03.

Рассмотрим критерий "Требования к рабочей среде". В таблице 1.12 приводятся результаты анализа альтернатив по критерию "Поддерживаемые операционные системы" [3].

Таблица 0. 8 Поддерживаемые ОС рассматриваемых систем

DB2

MS SQL Server

MySQL

Oracle

Postgre SQL

Windows

+

+

+

+

+

Mac OS

+

+

+

+

+

Linux

+

+

+

+

+

BSD

-

+

+

-

+

UNIX

+

+

+

+

+

AmigaOS

-

+

+

-

-

Symbian

-

+

+

-

-

Оценим рассматриваемые СУБД относительно критерия "Требования к рабочей среде", построим матрицу попарных сравнений альтернатив (таблица 1.13).

Таблица 0. 9 Матрица попарных сравнений альтернатив по критерию "Требования к рабочей среде"

DB2

Oracle

MySQL

MS SQL

Postgre SQL

DB2

1

1

1/4

1/4

1/3

Oracle

1

1

1/4

1/4

1/2

MySQL

4

4

1

1

3

MS SQL

4

4

1

1

3

Postgre SQL

3

2

1/3

1/3

1

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

Построим матрицу попарных сравнений критериев (таблица 1.14), для удобства пронумеруем критерии от 1 до 5.

Таблица 0. 10

Матрица попарных сравнений критериев

1

2

3

4

5

1

1

1

1/2

1/6

1/4

2

1

1

1/2

1/6

1/3

3

2

2

1

1/5

1/2

4

6

6

5

1

2

5

4

3

2

1/2

1

Вектор приоритетов альтернатив: 0,07 0,07 0,12 0,49 0,25

Главное собственное значение: 5,03. Индекс согласованности (ИС): 0,01. Отношение согласованности (ОС): 0,01.

Таким образом, веса рассматриваемых СУБД распределены следующим образом: MySQL (0.32), DB2 (0.28), MS SQL Server (0.16), Oracle (0.13), PostgreSQL (0.11).

На основании данного сравнения выбираем для использования СУБД MySQL.

2. Проектная часть

2.1 Информационное обеспечение системы тестирования

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

Основными элементами модели прецедентов являются актеры и прецеденты.

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

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

На рис. 0.1 представлена диаграмма прецедентов, которая представляет функции администратора по работе с системой.

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

Рисунок 0. 1 Диаграмма прецедентов

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

Кандидат после авторизации проходит тесты.

Прецедент "Аутентификация пользователя" активизируется всеми субъектами ИС. Прежде чем пользователю начать работу с БД, система запрашивает его пароль и логин. Если пользователь не зарегистрирован или в пароле и/или логине допустил ошибку, то он не получает доступа к работе в ИС. После успешной проверки логина и пароля пользователя открывается главное окно программы. На рисунках представлены диаграмма последовательности и диаграмма действий этого прецедента.

Рисунок 0. 2 Диаграмма последовательности "Аутентификация пользователя"

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

Рисунок 0. 3 Диаграмма последовательности "Учет тестов"

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

Пакет - совокупность описаний классов и других программных ресурсов, в том числе и самих пакетов.

Анализ концептуальной модели позволил выделить следующие пакеты:

· интерфейсные элементы - классы, реализующие интерфейсные компоненты;

· пользовательский интерфейс - классы, реализующие объекты интерфейса с пользователем;

· интерфейс с БД - классы, реализующие интерфейс с базой данных;

· база данных

Рисунок 0. 4 Диаграмма пакетов

Диаграмма развертывания системы представлена на рисунке.

Рисунок 0. 5 Диаграмма развертывания

Как следует из приведенной диаграммы, для развертывания системы необходим сервер с установленными пакетами ПО (Apache, MySQL) и клиентское автоматизированное рабочее место.

2.2 Проектирование базы данных

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

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

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

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

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

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

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

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

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

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

Рисунок 0. 1 Логическая модель базы данных

1. Календарь

· Код_мероприятия

· Код_должности

· Код_пользователя

· Дата_записи

· Контрольная_точка

· Запись

2. Ответы

· Код_ответа

· Код_вопроса

· Ответ

· Верный

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

· Код_пользователя

· Имя

· Пароль

· Признак_администратора

4. Вопросы

· Код_вопроса

· Код_должности

· Вопрос

· Изображение

· 5Должности

· Код_должности

· Наименование

· Права_доступа

5. Тесты

· Код_теста

· Код_пользователя

· Дата_теста

· Время_начала

· Время_окончания

· Описание

· Код_кандидата

6. Результаты

· Код_записи

· Должность

· Код_пользователя

· Код_вопроса

· Код_ответа

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

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

Характеристика каждой таблицы и полей приведена в таблицах ниже.

Таблица 0. 1 Структура таблицы hr_Answers

Поле

Тип

Связи

Id

int (11)

QuestionId

int (11)

hr_questions - > Id

QuestionText

varchar (255)

isTrue

tinyint (1)

Таблица 0. 2 Структура таблицы hr_Meeting

Поле

Тип

Связи

Id

int (11)

UserId

int (11)

hr_users - > Id

DateMeeting

date

BeginTime

time

EndTime

time

Description

varchar (255)

ClientId

int (11)

Таблица 0. 3 Структура таблицы hr_Positions

Поле

Тип

Id

int (11)

Name

varchar (50)

NeedPoints

int (11)

Таблица 0. 4 Структура таблицы hr_Posting

Поле

Тип

Связи

Id

int (11)

PositionId

int (11)

hr_positions - > Id

UserId

int (11)

hr_users - > Id

DatePost

datetime

CountPoint

int (11)

isAccept

tinyint (1)

Таблица 0. 5 Структура таблицы hr_Questions

Поле

Тип

Связи

Id

int (11)

PositionId

int (11)

hr_positions - > Id

QuestionText

varchar (255)

Pict

varchar (255)

Таблица 0. 6 Структура таблицы hr_Results

Поле

Тип

Связи

Id

int (11)

PositionId

int (11)

hr_positions - > Id

UserId

int (11)

hr_users - > Id

QuestionId

int (11)

hr_questions - > Id

AnswerId

int (11)

hr_answers - > Id

Таблица 0. 7 Структура таблицы hr_Users

Поле

Тип

Id

int (11)

Name

varchar (50)

Password

varchar (15)

isAdmin

tinyint (1)

2.3 Проектирование интерфейса

Интерфейс должен разрабатываться в соответствии с требованиями юзабилити.

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

Определения юзабилити согласно стандарту ISO 9241-11 звучит так: "юзабилити - это степень эффективности, продуктивности и удовлетворенности, с которыми продукт может быть использован определенными пользователями в определенном контексте использования для достижения определенных целей" (the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use).

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

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

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

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

· кнопка (button)

· split button (сдвоенная кнопка) - кнопка, вызывающая список со вторичным (и) действием (и) (кнопками)

· радиокнопка (radio button)

· флажок (check box)

· значок (иконка, icon)

· список (list box)

· дерево - иерархический список (tree view)

· раскрывающийся список (combo box, drop-down list)

· метка (label)

· поле редактирования (textbox, edit field)

· элемент для отображения табличных данных (grid view)

· меню (menu)

· главное меню окна (main menu или menu bar)

· контекстное меню (popup menu)

· ниспадающее меню (pull down menu)

· окно (window)

· диалоговое окно (dialog box)

· модальное окно (modal window)

· панель (panel)

· вкладка (tab)

· панель инструментов (toolbar)

· полоса прокрутки (scrollbar)

· ползунок (slider)

· строка состояния (status bar)

· всплывающая подсказка (tooltip, hint)

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

· кнопка (button)

· значок (иконка, icon)

· список (list box)

· поле редактирования (textbox, edit field)

· элемент для отображения табличных данных (grid view)

· меню (menu)

· главное меню окна (main menu или menu bar)

· вкладка (tab)

· полоса прокрутки (scrollbar)

· ползунок (slider)

· строка состояния (status bar)

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

· Использование специальных программных средств при проектировании макетов экранных форм;

· Использование традиционного расположения таких элементов интерфейса, как кнопки "Закрыть окно", "Свернуть в окно", "Свернуть";

· Использование крупных интерфейсных элементов для перехода к пунктам меню программы.

2.4 Руководство пользователя

Рассмотрим порядок использования разработанной системы тестирования. В системе предусмотрено 2 вида пользователей - администратор и тестируемый. Рассмотрим работы администратора. Для входа в систему необходимо пройти авторизацию.

Рисунок 0. 1 Страница авторизации

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

Рисунок 0. 2 Главная страница

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

Рисунок 0. 3 Пользователи

Рисунок 0. 4 Редактирование данных кандидата

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

Рисунок 0. 5 Должности

Рисунок 0. 6 Добавление должности

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

Рисунок 0. 7 Добавление вопроса

Результаты теста приведены на отдельной странице.

Рисунок 0. 8 Результаты теста

Также администратор учитывает должности.

Рисунок 0. 9 Учет должностей

Также администратор имеет возможность заметки в календарь.

Рисунок 0. 10 Календарь

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

Рисунок 0. 11 Выбор теста

И начать тестирование. Тестирование проходит в виде выбора верного ответа на каждый вопрос.

Рисунок 0. 12 Прохождение теста

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

Рисунок 0. 13 Результаты тестирования

3. Расчет экономической эффективности

3.1 Определение этапов разработки

Общие затраты труда на разработку и ПО определим следующим образом:

, (1)

где - затраты труда на выполнение i - го этапа проекта.

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

, (2)

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

Полный перечень работ с разделением их по этапам приведён в таблице 3.1.

Таблица 0. 1 Разделение работ по этапам

Этап

№ работы

Содержание работы

, чел/ часы

, чел/ часы

, чел/ часы

, чел/дни

1

Разработка технических требований

1

Получение задачи, уяснение требований

17

25

3

4

2

Уточнение требований заказчика

37

45

5

6

3

Разработка технического задания

67

75

9

10

4

Определение структуры программы, ее основных модулей

57

65

8

9

2

Разработка алгоритмов

5

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

37

45

5

6

6

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

47

55

6

7

3

Разработка программных модулей

7

Разработка базы данных

47

55

6

7

8

Разработка алгоритма работы программы

37

45

5

6

9

Разработка программного кода

67

75

9

10

4

Тестирование и отладка разрабатываемого ПО

10

Разработка клиентской части программы

57

65

8

9

5

Разработка документации

11

Разработка инструкции пользователю

27

35

4

5

Итого

675

85

Qp=Qож= 69 чел/дней = 675 чел/час.

3.2 Определение численности исполнителей

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

(3)

где - затраты труда на выполнение проекта (разработка и внедрение ПО), F - фонд рабочего времени и определяется по формуле:

(4)

где tp-- продолжительность рабочего дня, DK -- общее число дней в году, DB -- число выходных дней в году, DП -- число праздничных дней в году.

Таким образом, фонд времени в текущем месяце составляет

(5)

Время выполнения проекта (Т) - 3 месяца.

Величина фонда рабочего времени составляет 498 часов.

Затраты труда на выполнения проекта были рассчитаны в предыдущем разделе, их величина равна 552 чел/час. В соответствии с этими данными и выражением (3), среднее количество исполнителей равно:

(6)

Округляя до большего, получим число исполнителей проекта N = 2.

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

Диаграмма Гантта приведена на рисунке 3.1.

Рисунок 0. 1 Диаграмма Гантта проводимых работ

3.3 Структура сметы затрат

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

1. Прямые материальные затраты;

2. Основная заработная плата;

3. Дополнительная заработная плата;

4. Отчисления на социальные нужды;

5. Расходы на приобретение, содержание и эксплуатацию комплекса технических средств;

6. Накладные расходы.

3.3.1 Расчет прямых материальных затрат

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

Таблица 0. 1 Расчет материалов и комплектующих

№ п/п

Элемент материальных затрат

Количество

Цена за шт. (руб.)

Общая стоимость (руб.)

1

Компакт-диски

10

25

250

2

Бумага А4, пачек

5

120

600

3

Ручка и карандаши

15

15

225

4

Картридж для принтера

2

450

900

ИТОГО, рублей

1975

3.3.2 Расчет затрат на основную заработную плату

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

Таблица 0. 1 Расчет основной заработной платы

Должность

"Чистый" оклад, руб.

Оклад, руб в час.

Трудозатраты, чел-дни

Затраты на зарплату, руб.

1

Разработчик

42000

250

460

115000

2

Руководитель

75600

450

255

89250

Итого:

715

206750

3.3.3 Расчет затрат на дополнительную заработную плату

Дополнительную заработную плату разработчиков определяют в процентах от итоговой суммы основной заработной платы (12 - 15 %).

ЗП доп. = 14% от 206750 (руб.).

ЗП доп. = 28945 (руб.)

Отчисления на социальные нужды

Единый социальный налог рассчитывают в процентах от суммы основной и дополнительной заработных плат, в пенсионный фонд, в ФСС и мед. страхование. На 2013 год данный процент составляет 30,2%.

ЕСН = 30,2% от (ЗП осн. + ЗП доп.)

ЕСН = 0,302 * (206750+28945) =71179,89 (руб.)

Расходы на приобретение, содержание и эксплуатацию комплекса технических средств

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

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

Таблица 0. 1 Расчет стоимости КТС

Наименование

Kол-во

Цена за шт.

Сумма руб.

1

Персональный компьютер Моноблок Dell XPS One 2720

1

74000

74000

2

ИБП APC by Schneider Electric Power Saving Back-UPS Pro 1500

1

14000

14000

3

HP LaserJet Pro M1132 MFP

1

5500

5500

ИТОГО

93520

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

В стоимость часа работы КТС включают следующие затраты:

1. Амортизационные отчисления, приходящиеся на 1 час работы КТС:

Ач = Фперв* ,

Где Фперв - первоначальная стоимость КТС или отдельных его элементов; а - норма амортизации (0.25); Fд - фонд времени работы КТС за год (2 000-3 000 часов).

Таблица 0. 2 Расчет амортизационных отчислений

№ п/п

Элемент КТС

Фперв

Ач

Количество часов работы

Общая стоимость (руб.)

1.

Персональный компьютер Моноблок Dell XPS One 2720

74000

3000

6,17

675

4162,5

2

ИБП APC by Schneider Electric Power Saving Back-UPS Pro 1500

14000

3000

1,17

675

787,5

3

HP LaserJet Pro M1132 MFP

5500

3000

0,46

675

309,375

ИТОГО

5259

2. Затраты на силовую энергию, приходящиеся на 1 час работы КТС; определяют как произведение установленной мощности КТС в кВт на стоимость 1 кВт в час. Уровень тарифов на электроэнергию для города Москва - 3.58 руб. за кВт/ч.

Таблица 0. 3 Расчет затрат на силовую энергию

№ п/п

Элемент КТС

Установленная мощность, кВт

Стоимость 1кВт в час (руб.)

Количество часов работы

Общая стоимость

1.

Персональный компьютер Моноблок Dell XPS One 2720

0,66

3,58

675

1594,89

1.

ИБП APC by Schneider Electric Power Saving Back-UPS Pro 1500

1

3,58

675

2416,5

1.

HP LaserJet Pro M1132 MFP

0,2

3,58

675

483,3

ИТОГО

4494,69

3. Затраты на текущий ремонт и профилактику, приходящиеся на 1 час работы КТС; определяют аналогично амортизационным отчислениям, но вместо нормы амортизации используют процент указанных затрат (5-10%).

Bч = Фперв* ,,

где b = 0,05

Таблица 0. 4 Расчет затрат на текущий ремонт и профилактику

№ п/п

Элемент КТС

Фперв

Количество часов работы

Общая стоимость (руб.)

1.

Персональный компьютер Моноблок Dell XPS One 2720

74000

3000

1,23

675

832,5

2

ИБП APC by Schneider Electric Power Saving Back-UPS Pro 1500

14000

3000

0,23

675

157,5

3

HP LaserJet Pro M1132 MFP

5500

3000

0,09

675

61,875

ИТОГО

1051,875

Таким образом, расходы на содержание и эксплуатацию комплекса технических средств составляют: 5259+4494+1051=10804 (руб.)

Накладные расходы

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

Процент накладных расходов = (70-80%) ЗПосн.

НП = 75%*206750= 155062,5 (руб.)

Прочие расходы

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

Смета на разработку программного продукта

Таблица 0. 5 Смета затрат

№ п/п

Элементы затрат

Сумма, руб.

1

Прямые материальные затраты

1975

2

Затраты на основную заработную плату

206750

3

Затраты на дополнительную заработную плату

28945

4

Единый социальный налог

71179

5

Расходы на покупку, содержание и эксплуатацию КТС

104324

6

Накладные расходы

155062

7

Прочие расходы

0

ИТОГО, рублей

568275

Соотношение статей сметы затрат приведено на рисунке 3.2.

Рисунок 0. 1 Соотношение статей сметы затрат

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

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

· централизация доступа к информации;

· снижение времени поиска информации;

· повышение производительности труда;

· стандартизация интерфейса доступа к информации.

Заказанная разработка системы рассчитана под нужды рассматриваемого предприятия, стоимость будет равна сумме затрат + прибыль разработчика (15%):

Цпо=C+П=568275+ 568275*0,15 = 653516,25 руб.

3.4 Определение оптимального объема продаж

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

,

где

E - норма дисконта;

Т - планируемый срок использования разработанного ПП (лет), Т = 3 года;

А по - износ нематериальных активов (разработанный ПП);

Норма дисконта для собственного капитала устанавливается самим предприятием и определяется дивидендной политикой компании, в данном случае - 15%.

Прогнозируемый темп инфляции за 2013 год - 5,9 %. (учтён в 15%)

Уровень риска вложений интенсификации производства на базе освоенной продукции - низкий и составляет 4 %. Следовательно:

.

Износ нематериальных активов рассчитывается по формуле:

АПП= ЦПП / Т,

Таблица 0. 1 Расчет показателей экономической эффективности

№ п/п

Показатель

Единица измере-ния

Значение показателя до внедрения ПП

Значение показателя после внедрения ПП

1

Среднее время на выполнение одной операции (время загрузки одной карты)

Мин.

1

0,3

2

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

100000

100000

3

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

Час

1*100000/60=

1666,7

0,3*00000/60=

555

4

Количество работников, необходимых для выполнения операций

Чел.

1666,7/1800=

0,926

555/1800=

0,3

5

Средняя заработная плата одного работника за год

Руб.

360000

360000

6

Заработная плата за выполнение операций

Руб.

36000*0,926=

333360

360000*0,3=

12000

7

Отчисления на социальные нужды (30,2%)

Руб.

333360*0,302=

100674,7

12000*0,302=

3624,088

8

Расходы на содержание и эксплуатацию КТС

Руб.

10804

10804

9

Износ нематериальных активов

Руб.

-

217838

10

Накладные расходы (120%)

Руб.

360000*1.2=

120809,664

360000*1,2=

4348,8

11

Годовые затраты на выполнение операций

Руб.

565648,4

92186,07

12

Дополнительная прибыль

Руб.

317033,584,3

13

Дополнительная чистая прибыль (ставка налога на прибыль Н= 20%)

Руб.

317033,584*0,8=253626,8672

Расчет чистого дисконтированного дохода:

Дисконтированный доход за один год составляет:

Срок окупаемости ПП:

Срок окупаемости ПП:

Выводы

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

Заключение

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

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

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

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

- анализ деятельности предприятия;

- расчет экономической эффективности программного продукта;

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

- физическая реализация базы данных;

- разработка приложения пользователя;

- физическая реализация приложения пользователя.

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

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

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

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

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

1. Баранова Е. Н., Бабаш А.Н., Информационная безопасность и защита информации, Издательство: РИОР, Инфра-М, М., 2012 год, 256 стр.,

2. Билл Карвин, Программирование баз данных SQL. Типичные ошибки и их устранение, Издательство: Рид Групп, 2012 г., 336 стр.

3. Бобровский С. Программирование в Delphi 7 - СПб.: Информ-Пресс, 2011. - 806 c.: ил.

4. Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2007 г, 456 стр.

5. Вигерс Карл, Разработка требований к программному обеспечению, Пер, с англ. - М.: Издательско-торговый дом "Русская Редакция", 2011. - 576с.: ил

6. Гашков С.Б., Э.А. Применко, М.А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2010 г., 304 стр.

7. Голицына О.Л., И.И. Попов, Н.В. Максимов, Т.Л. Партыка, Информационные технологии, М, Издательство Инфра-М, 2012 г., 608 стр.

8. ГОСТ Р ИСО/МЭК 12207/99. Государственный стандарт РФ. Информационная технология. Процессы жизненного цикла информационных систем. Издание официальное. - М., 1999

9. Дарахвелидзе, П.Г. Программирование в Delphi 7. - СПб.: БХВ-Петербург, 2011. - 784 с.

10. Джон Гудсон, Роб Стюард, Практическое руководство по доступу к данным, Издательство: БХВ-Петербург, Спб, 2013 год, 304 стр.

11. Дэвид Паттерсон, Джон Хеннесси, Архитектура компьютера и проектирование компьютерных систем, Издательство: Питер, М., 2012 год, 784 стр.,

12. Емельянова Н.З., Партыка Т.Л., И.И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2012 г., 432 стр.

13. Заботина Н. А, Проектирование информационных систем, Издательство: Инфра-М, М., 2013 год, 336 стр,

14. Илюшечкин В.М., Основы использования и проектирования баз данных, М, Издательство Юрайт, 2011 г., 224 стр.

15. Котляров В.П., Т.В. Коликова, Основы тестирования программного обеспечения, Издательства: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2011 г., 288 стр.

16. Кристофер Д. Маннинг, Прабхакар Рагхаван, Хайнрих Шютце, Введение в информационный поиск, Издательство: Вильямс, 2011 г., 528 стр.

17. Крэг Ларман, Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку, Издательство: Вильямс, М., 2013 год, 736 стр.

18. Кузин А.В., С.В. Левонисова, Базы данных, М, Издательство: Академия, 2012 г., 320 стр.

19. Кузнецов С.Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2012 г., 488 стр.

20. Кумскова И.А., Базы данных, Издательство: КноРус, 2011 г., 488 стр.

21. Луки В.А., Введение в проектирование баз данных, Издательство: Вузовская книга, М., 2013 год, 144 стр.

22. Маклаков С.В. ВРWin и ERWin. САSЕ-средства разработки информационных систем - М.: Диалог-МИФИ, 2012 - 455 с.: ил.

23. Малюк А.А., Пазизин С.В., Погожин Н.С., Введение в защиту информации в автоматизированных системах, Издательство: Горячая Линия - Телеком, 2011 г., 146 стр.

24. Мельников В.П., Клейменов С.А., Петраков А.М., Информационная безопасность и защита информации, Издательство: Академия, 2012 г., 336 стр.

25. Молчанов А.Ю., Системное программное обеспечение, М, Издательство: Питер, 2012 г., 400 стр.

26. Незнанов А.А., Программирование и алгоритмизация, М, Издательство: Академия, 2012 г., 304 стр.

27. Перерва А. И,, Иванова В.Н., Путь аналитика. Практическое руководство IT-специалиста, Издательство: Питер, Спб, 2013 год, 304 стр.

28. Пирогов В.Ю., Информационные системы и базы данных. М, Организация и проектирование, Издательство: БХВ-Петербург, 2012 г.528 стр.

29. Платонов В.А., Программно-аппаратные средства защиты информации, Издательство: Академия, М., 2013 год, 336 стр.,

30. Роберт Дж. Мюллер, Проектирование баз данных и UML, Издательство: Лори, М., 2013 год, 432 стр.

31. Рябко Б.Я., Фионов А.Н., Криптографические методы защиты информации, Издательство: Горячая Линия - Телеком, 2012 г., 230 стр.

32. Сергеева Ю.С., Защита информации. Конспект лекций, Издательство: А-Приор, 2011 г., 128 стр.

33. Симионов Ю.Ф., Боромотов В.В. Информационный менеджмент. - Ростов н. Д: Феникс, 2011, 250с., ил.

34. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.

35. Шаньгин В.А., Защита информации в компьютерных системах и сетях, Издательство: ДМК Пресс, М., 2013 год, 592 стр.

36. Энди Орам, Грегори Уилсон, Идеальная разработка ПО. Рецепты лучших программистов, Издательство: Питер, Спб, 2013 год, 592 стр.

Приложения

Приложение. Листинг программных модулей

#pragma once

#include "MySqlInterface. h"

#include "QuestionAnswers. h"

#include "TestResults. h"

namespace HR {

using namespace System;

using namespace System:: ComponentModel;

using namespace System:: Collections;

using namespace System:: Windows:: Forms;

using namespace System:: Data;

using namespace System:: Drawing;

// / <summary>

// / Сводка для Candidates

// / </summary>

public ref class Candidates: public System:: Windows:: Forms:: Form

{

private: int _IdUser = 0;

public:

Candidates (void)

{

InitializeComponent ();

//

// TODO: добавьте код конструктора

//

}

Candidates (int idUser)

{

this->_IdUser = idUser;

InitializeComponent ();

//

// TODO: добавьте код конструктора

//

}

protected:

// / <summary>

// / Освободить все используемые ресурсы.

// / </summary>

~Candidates ()

{

if (components)

{

delete components;

}

}

private: System:: Windows:: Forms:: Panel^ BasePanel;

protected:

private: System:: Windows:: Forms:: Button^ ShowTestButton;

private: System:: Windows:: Forms:: Button^ ExitButton;

private: System:: Windows:: Forms:: TabControl^ CandidateTab;

private: System:: Windows:: Forms:: TabPage^ AvailableTestsTab;

private: System:: Windows:: Forms:: DataGridView^ PositionsTestsView;

private: System:: Windows:: Forms:: TabPage^ PassedTestsTab;

private: System:: Windows:: Forms:: Button^ PassTestButton;

private: System:: Windows:: Forms:: DataGridView^ PassedTestsView;

private:

// / <summary>

// / Требуется переменная конструктора.

// / </summary>

System:: ComponentModel:: Container ^components;

#pragma region Windows Form Designer generated code

// / <summary>

// / Обязательный метод для поддержки конструктора - не изменяйте

// / содержимое данного метода при помощи редактора кода.

// / </summary>

void InitializeComponent (void)

{

System:: ComponentModel:: ComponentResourceManager^ resources = (gcnew System:: ComponentModel:: ComponentResourceManager (Candidates:: typeid));

this->BasePanel = (gcnew System:: Windows:: Forms:: Panel ());

this->PassTestButton = (gcnew System:: Windows:: Forms:: Button ());

this->ShowTestButton = (gcnew System:: Windows:: Forms:: Button ());

this->ExitButton = (gcnew System:: Windows:: Forms:: Button ());

this->CandidateTab = (gcnew System:: Windows:: Forms:: TabControl ());

this->AvailableTestsTab = (gcnew System:: Windows:: Forms:: TabPage ());

this->PositionsTestsView = (gcnew System:: Windows:: Forms:: DataGridView ());

this->PassedTestsTab = (gcnew System:: Windows:: Forms:: TabPage ());

this->PassedTestsView = (gcnew System:: Windows:: Forms:: DataGridView ());

this->BasePanel->SuspendLayout ();

this->CandidateTab->SuspendLayout ();

this->AvailableTestsTab->SuspendLayout ();

(cli:: safe_cast<System:: ComponentModel:: ISupportInitialize^> (this->PositionsTestsView)) - >BeginInit ();

this->PassedTestsTab->SuspendLayout ();

(cli:: safe_cast<System:: ComponentModel:: ISupportInitialize^> (this->PassedTestsView)) - >BeginInit ();

this->SuspendLayout ();

//

// BasePanel

//

this->BasePanel->Anchor = static_cast<System:: Windows:: Forms:: AnchorStyles> ( (System:: Windows:: Forms:: AnchorStyles:: Top | System:: Windows:: Forms:: AnchorStyles:: Right));

this->BasePanel->BackColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->BasePanel->Controls->Add (this->PassTestButton);

this->BasePanel->Controls->Add (this->ShowTestButton);

this->BasePanel->Controls->Add (this->ExitButton);

this->BasePanel->Location = System:: Drawing:: Point (671,12);

this->BasePanel->Name = L"BasePanel";

this->BasePanel->Size = System:: Drawing:: Size (115, 218);

this->BasePanel->TabIndex = 4;

//

// PassTestButton

//

this->PassTestButton->Anchor = System:: Windows:: Forms:: AnchorStyles:: Top;

this->PassTestButton->BackColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->PassTestButton->Font = (gcnew System:: Drawing:: Font (L"Segoe Print", 9, System:: Drawing:: FontStyle:: Regular, System:: Drawing:: GraphicsUnit:: Point,

static_cast<System:: Byte> (0)));

this->PassTestButton->ForeColor = System:: Drawing:: SystemColors:: ButtonHighlight;

this->PassTestButton->Image = (cli:: safe_cast<System:: Drawing:: Image^> (resources->GetObject (L"PassTestButton. Image")));

this->PassTestButton->ImageAlign = System:: Drawing:: ContentAlignment:: TopCenter;

this->PassTestButton->Location = System:: Drawing:: Point (3, 104);

this->PassTestButton->Name = L"PassTestButton";

this->PassTestButton->Size = System:: Drawing:: Size (106, 109);

this->PassTestButton->TabIndex = 4;

this->PassTestButton->Text = L"Пройти тест";

this->PassTestButton->TextAlign = System:: Drawing:: ContentAlignment:: BottomCenter;

this->PassTestButton->UseVisualStyleBackColor = false;

this->PassTestButton->Click += gcnew System:: EventHandler (this, &Candidates:: PassTestButton_Click);

//

// ShowTestButton

//

this->ShowTestButton->Anchor = System:: Windows:: Forms:: AnchorStyles:: Top;

this->ShowTestButton->BackColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->ShowTestButton->Font = (gcnew System:: Drawing:: Font (L"Segoe Print", 9, System:: Drawing:: FontStyle:: Regular, System:: Drawing:: GraphicsUnit:: Point,

static_cast<System:: Byte> (0)));

this->ShowTestButton->ForeColor = System:: Drawing:: SystemColors:: ButtonHighlight;

this->ShowTestButton->Image = (cli:: safe_cast<System:: Drawing:: Image^> (resources->GetObject (L"ShowTestButton. Image")));

this->ShowTestButton->ImageAlign = System:: Drawing:: ContentAlignment:: TopCenter;

this->ShowTestButton->Location = System:: Drawing:: Point (3, 104);

this->ShowTestButton->Name = L"ShowTestButton";

this->ShowTestButton->Size = System:: Drawing:: Size (106, 109);

this->ShowTestButton->TabIndex = 0;

this->ShowTestButton->Text = L"Посмотреть тест";

this->ShowTestButton->TextAlign = System:: Drawing:: ContentAlignment:: BottomCenter;

this->ShowTestButton->UseVisualStyleBackColor = false;

this->ShowTestButton->Visible = false;

this->ShowTestButton->Click += gcnew System:: EventHandler (this, &Candidates:: ShowTestButton_Click);

//

// ExitButton

//

this->ExitButton->Anchor = System:: Windows:: Forms:: AnchorStyles:: Top;

this->ExitButton->BackColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->ExitButton->Font = (gcnew System:: Drawing:: Font (L"Segoe Print", 12, System:: Drawing:: FontStyle:: Regular, System:: Drawing:: GraphicsUnit:: Point,

static_cast<System:: Byte> (0)));

this->ExitButton->ForeColor = System:: Drawing:: SystemColors:: ButtonHighlight;

this->ExitButton->Image = (cli:: safe_cast<System:: Drawing:: Image^> (resources->GetObject (L"ExitButton. Image")));

this->ExitButton->ImageAlign = System:: Drawing:: ContentAlignment:: TopCenter;

this->ExitButton->Location = System:: Drawing:: Point (3,3);

this->ExitButton->Name = L"ExitButton";

this->ExitButton->Size = System:: Drawing:: Size (106, 95);

this->ExitButton->TabIndex = 3;

this->ExitButton->Text = L"Выйти";

this->ExitButton->TextAlign = System:: Drawing:: ContentAlignment:: BottomCenter;

this->ExitButton->UseVisualStyleBackColor = false;

this->ExitButton->Click += gcnew System:: EventHandler (this, &Candidates:: ExitButton_Click);

//

// CandidateTab

//

this->CandidateTab->Anchor = static_cast<System:: Windows:: Forms:: AnchorStyles> ( ( ( (System:: Windows:: Forms:: AnchorStyles:: Top | System:: Windows:: Forms:: AnchorStyles:: Bottom)

| System:: Windows:: Forms:: AnchorStyles:: Left)

| System:: Windows:: Forms:: AnchorStyles:: Right));

this->CandidateTab->Appearance = System:: Windows:: Forms:: TabAppearance:: Buttons;

this->CandidateTab->Controls->Add (this->AvailableTestsTab);

this->CandidateTab->Controls->Add (this->PassedTestsTab);

this->CandidateTab->Location = System:: Drawing:: Point (12,12);

this->CandidateTab->Name = L"CandidateTab";

this->CandidateTab->SelectedIndex = 0;

this->CandidateTab->Size = System:: Drawing:: Size (653, 405);

this->CandidateTab->TabIndex = 3;

this->CandidateTab->SelectedIndexChanged += gcnew System:: EventHandler (this, &Candidates:: CandidateTab_Selected);

//

// AvailableTestsTab

//

this->AvailableTestsTab->BackColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->AvailableTestsTab->Controls->Add (this->PositionsTestsView);

this->AvailableTestsTab->ForeColor = System:: Drawing:: SystemColors:: ControlText;

this->AvailableTestsTab->Location = System:: Drawing:: Point (4, 25);

this->AvailableTestsTab->Name = L"AvailableTestsTab";

this->AvailableTestsTab->Padding = System:: Windows:: Forms:: Padding (3);

this->AvailableTestsTab->Size = System:: Drawing:: Size (645, 376);

this->AvailableTestsTab->TabIndex = 0;

this->AvailableTestsTab->Text = L"Доступные тесты";

//

// PositionsTestsView

//

this->PositionsTestsView->AllowUserToAddRows = false;

this->PositionsTestsView->AllowUserToDeleteRows = false;

this->PositionsTestsView->Anchor = static_cast<System:: Windows:: Forms:: AnchorStyles> ( ( ( (System:: Windows:: Forms:: AnchorStyles:: Top | System:: Windows:: Forms:: AnchorStyles:: Bottom)

| System:: Windows:: Forms:: AnchorStyles:: Left)

| System:: Windows:: Forms:: AnchorStyles:: Right));

this->PositionsTestsView->AutoSizeColumnsMode = System:: Windows:: Forms:: DataGridViewAutoSizeColumnsMode:: Fill;

this->PositionsTestsView->BackgroundColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->PositionsTestsView->BorderStyle = System:: Windows:: Forms:: BorderStyle:: None;

this->PositionsTestsView->ColumnHeadersHeightSizeMode = System:: Windows:: Forms:: DataGridViewColumnHeadersHeightSizeMode:: AutoSize;

this->PositionsTestsView->Location = System:: Drawing:: Point (6,6);

this->PositionsTestsView->MultiSelect = false;

this->PositionsTestsView->Name = L"PositionsTestsView";

this->PositionsTestsView->ReadOnly = true;

this->PositionsTestsView->SelectionMode = System:: Windows:: Forms:: DataGridViewSelectionMode:: FullRowSelect;

this->PositionsTestsView->Size = System:: Drawing:: Size (633, 364);

this->PositionsTestsView->TabIndex = 14;

//

// PassedTestsTab

//

this->PassedTestsTab->BackColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->PassedTestsTab->Controls->Add (this->PassedTestsView);

this->PassedTestsTab->Location = System:: Drawing:: Point (4, 25);

this->PassedTestsTab->Name = L"PassedTestsTab";

this->PassedTestsTab->Padding = System:: Windows:: Forms:: Padding (3);

this->PassedTestsTab->Size = System:: Drawing:: Size (645, 376);

this->PassedTestsTab->TabIndex = 1;

this->PassedTestsTab->Text = L"Пройденные тесты";

//

// PassedTestsView

//

this->PassedTestsView->AllowUserToAddRows = false;

this->PassedTestsView->AllowUserToDeleteRows = false;

this->PassedTestsView->Anchor = static_cast<System:: Windows:: Forms:: AnchorStyles> ( ( ( (System:: Windows:: Forms:: AnchorStyles:: Top | System:: Windows:: Forms:: AnchorStyles:: Bottom)

| System:: Windows:: Forms:: AnchorStyles:: Left)

| System:: Windows:: Forms:: AnchorStyles:: Right));

this->PassedTestsView->AutoSizeColumnsMode = System:: Windows:: Forms:: DataGridViewAutoSizeColumnsMode:: Fill;

this->PassedTestsView->BackgroundColor = System:: Drawing:: SystemColors:: ControlDarkDark;

this->PassedTestsView->BorderStyle = System:: Windows:: Forms:: BorderStyle:: None;

this->PassedTestsView->ColumnHeadersHeightSizeMode = System:: Windows:: Forms:: DataGridViewColumnHeadersHeightSizeMode:: AutoSize;

this->PassedTestsView->Location = System:: Drawing:: Point (6,6);

this->PassedTestsView->MultiSelect = false;

this->PassedTestsView->Name = L"PassedTestsView";


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

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