Разработка клиентского приложения для салона красоты "Redken Loft 5th Avenue"

Теоретическая основа для разработки приложения. Язык SQL. Синтаксис. Реляционная модель данных. ER-модель. Связи между таблицами. Нормализация таблиц. Ключи индексы. Среда быстрой разработки Embarcadero RAD Studio Seattle. Интерфейс приложения. Листинг.

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

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

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

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

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

- эффективность. В процессе работы с БД более эффективно проводить выборку по полю с числовым типом данных (например, NUMBER), чем по полю с символьным типом данных (например, VARCHAR).

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

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

Первичным ключом называют атрибут отношения, однозначно идентифицирующий каждый из кортежей. Обычно первичный ключ обозначается primary key (PK). В каждой БД всегда один и только один ключ назначается первичным. Значения такого атрибута не могут обновляться. Все остальные ключи отношения называются возможными (потенциальными или альтернативными) ключами. Первичный ключ служит в качестве ограничения целостности в пределах одной таблицы для однозначной идентификации. Первичные ключи используются для однозначной организации логической связи реляционных таблиц. Поле первичного ключа не может быть пустым, т.е. иметь null или повторяться. При выборе первичного ключа практичнее использовать несоставные ключи или ключи, составленные из минимального количества атрибутов.

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

Внешними ключами называют атрибуты, которые представляют собой копии первичных ключей других отношений. Другими словами, внешний ключ ссылается на первичный или возможный ключ той же самой или другой сущности. Внешний ключ обычно сокращенно обозначают foreign key (FK). Отношение, на которое ссылается внешний ключ, называется родительским отношением (или ссылочным), а отношение, которое содержит внешний ключ, - дочерним. Ограничение внешнего ключа можно задать как на этапе создания таблицы, так в процессе её редактирования. Внешний ключ не обязательно должно быть связан с ограничением первичного ключа в другой таблице. Ограничение внешнего ключа может содержать неопределённые значения (NULL). При таком раскладе при проверке целостности будут допускаться все значения, составляющие ограничение внешнего ключа. Чтобы избежать такой ситуации, с целью проверки всех значений, входящих в сложное ограничение внешнего ключа, указывается параметр NOT NULL для всех столбцов ограничения. Внешний ключ может также ссылаться на столбцы этой же самой таблицы. В этом случае такие таблицы называются ссылающимися на себя.

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

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

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

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

- помимо хранения самой таблицы в памяти каждый индекс так же требует место для хранения, а это - дополнительное пространство на диске;

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

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

1.4 Среда быстрой разработки Embarcadero RAD Studio 10 Seatle

Embarcadero RAD Studio 10 Seattle является программным продуктом американской компании «Embarcadero Technologies», основанной в 1993 году.

Embarcadero представляет собой самую полную среду разработки на Object Pascal и имеет библиотеки компонентов, необходимые для разработки кросс-платформенных нативных приложений с поддержкой облачных сервисов.

Также данная среда предоставляет возможность разрабатывать приложения для работы с локальными базами данных, создания веб-приложений и клиент-серверных решений и включает в себя необходимые средства для создания приложений с графическим пользовательским интерфейсом для разных операционных систем, будь то Windows (вплоть до Windows 10), Android (до Android 6.0) или Mac OS X.

Среда разработки Embarcadero представляет собой многооконную систему. В зависимости от настроек детальный внешний вид может различаться. Но в первоначальном виде среда имеет несколько следующих окон (рисунок 1.1):

- окно проекта Project Manager;

- окно палитры компонентов Tool Palette;

- окно инспектора объектов Object Inspector;

- окно структуры проекта Structure;

- окно Редактора кода (Unitl.pas).

Главное меню, которое располагается на главном окно среды, содержит набор команд для доступа к основным функциям, применяемым непосредственно в период разработки приложения. Также на главном окне располагается панель так называемых инструментов - кнопок для вызова наиболее часто используемых команд главного меню. Например, View Unit (Ctrl + F12), View Form (Shift + F12), Toggle Form/Unit (F12) и т.д.

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

- Standard - вкладка стандартных компонентов;

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

- Additional - вкладка дополнительных компонентов;

- dbGO - вкладка компонентов для обеспечения доступа к БД MySQL;

- Data Access - вкладка компонентов для работы с информацией из баз данных;

- Data Controls - вкладка компонентов для создания элементов управления данными.

Для осуществления подключения к базе данных MySQL с помощью компонентов ADO необходимо установить сторонний драйвер MySQL Connector ODBC. Для настройки подключения к MySQL и дальнейшей выборки данных необходимы 3 компонента: TADOConnection и TADOQuery с вкладки dbGo, а также TDataSource с вкладки Data Access.

Компонент TADOConnection отвечает непосредственно за подключение к базе данных и через него подключаются все остальные компоненты. В свойстве ConnectionString компонента TADOConnection настраивается связь с базой. В диалоговом окне свойства ConnectionString необходимо нажать Build. В данном окне необходимо выбрать раннее установленный драйвер ODBC и опять же нажать кнопку «Далее» для перехода к следующей вкладке. В следующем окне выбрать «Использовать строку соединения» и осуществить сборку в следующем диалоговом окне, путем создания нового или выбора раннее созданного файлового источника данных. В окне «MySQL Connector/ODBC Data Source Configuration» необходимо заполнить данные для подключения к базе. Эти шаги поэтапно наглядно представлены на рисунке 1.2. Данный способ подключения к базе данных, т.е. с использованием компонента TADOConnection, является более удобным, т.к. указание пути соединения с базой задаётся единожды.

Чтобы осуществить запрос к таблице и вывести имеющиеся данные необходимо в свойстве Connection компонента TADOQuery выбрать TADOConnection. Непосредственно сам запрос пишется в окне свойства SQL, после чего в качестве значения свойства Active устанавливается «True». Данные шаги поэтапно и наглядно представлены на рисунке 1.3

С помощью компонента DataSource можно осуществлять обмен информацией между компонентами набора данных и компонентами визуализации. В свойстве DataSet компонента DataSourse выбрать TADOQuery. Таким образом настраивается компонент DataSource (рисунок 1.4).

В качестве компонента визуализации удобно использовать компонент DBGrid, располагающийся на вкладке Data Access. Чтобы данные запроса отображались в этом компоненте, в свойстве DataSourse нужно указать TADOQuery (рисунок 1.5).

Рисунок 1.1 - Вид среды разработки Embarcadero RAD Studio

Рисунок 1.2 - Установка соединения с базой данных

Рисунок 1.3 - Настрой компонента TADOQuery

Рисунок 1.4 - Настройка компонента DataSource

Рисунок 1.5 - Настройка компонента TDBGrid

2. РАЗРАБОТКА КЛИЕНСТКОГО ПРИЛОЖЕНИЯ

2.1 Интерфейс приложения

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

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

Uses

Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10.

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

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

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

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

Рисунок 2.1 - Главное окно приложения

Рисунок 2.2 - Главное меню

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

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

Непосредственно возможность подключения к базе, выборки данных и передачи этих данных компонентам визуализации осуществляется невизуальными компонентами TADOConnection, TADOQuery и TDataSource соответственно. Преимущество использования TADOConnection заключается в том, что программа осуществляет доступ только через один компонент автоматически, а все остальные уже подключаются к нему. Благодаря этому пользователю нет необходимости подключать каждый компонент работы с БД вручную. Вывод данных на экран производится с помощью компонента визуализации TDBGrid.

Открыв программу, пользователь может перейти от одной таблицы к другой с помощью панели вкладок таблиц, представленной на рисунке 2.4. Главной таблицей является таблица «Клиенты», представленная на рисунке 2.5. К ней пользователь имеет доступ в первую очередь после запуска программы. В данной таблице пользователь видит полный список клиентов салона, который по умолчанию отсортирован по фамилии, имени, отчеству и дате рождения последовательно в порядке возрастания. Такая сортировка позволяет выводить записи и осуществлять несложный поиск непосредственно по самой таблице. Однако, если пользователю необходима сортировка записей по другому принципу, он может указать необходимые параметры на соответствующей панели «Сортировка». Параметры сортировки добавляются в запрос автоматически. Запрос к базе для вывода таблицы «Клиенты» с параметрами сортировки записей по умолчанию осуществляется следующим программным кодом:

SELECT c.id, c.last_name, c.first_name, c.mid_name, c.birth_date, c.phone_num, c.e_mail, r.name_service, c.stat_time, c.source_inf, c.discount, c.comment

FROM clients c JOIN rates r ON c.code_service=r.code

ORDER BY c.last_name, c.first_name, c.mid_name, c.birth_date.

Рисунок 2.3 - Вкладка главного меню «Справка»

Рисунок 2.4 - Панель доступа к таблицам

Рисунок 2.5 - Таблица «Клиенты»

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

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

- редактирование выделенной записи;

- добавление новой записи;

- удаление выделенной записи;

- поиск записи по параметрам.

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

Форма добавления новой записи приведена на рисунке 2.8. Для каждого поля, вводимого пользователем, программно назначено ограничение вводимых данных. Например, в поля ввода «Фамилия», «Имя», «Отчество» и подобные этим пользователь может ввести только буквы русского алфавита, в поле «e-mail» - только латинские строчные буквы и некоторые специальные символы, а значения полей «Дата рождения» и «Наименование услуги» пользователь выбирает только из строго определённых значений в списке ComboBox. Блок-схема выполнения данной команды представлена на рисунке 2.9. Если в параметрах таблицы выбрать позицию «Удалить», то программа выдаст диалоговое окно с предупреждением об удалении, и только если пользователь подтвердит удаление, запись будет удалена из таблицы. При нажатии кнопки «Поиск» панели параметров таблицы «Клиенты» открывается форма поиска с полями для параметров поиска (рисунок 2.10). Изначально при запуске данной формы или при очистке полей параметров кнопкой «Очистить» в компоненте TDBGrid, расположенном на этой форме, выводятся все записи таблицы. По умолчанию выводимые записи упорядочены так же, как и в таблице на главной форме - по фамилии, имени, отчеству, дате рождения в порядке возрастания. Однако, пользователь может задать собственный параметр (наименование поля) и порядок сортировки (по возрастанию или убыванию). Поиск осуществляется по фамилии и/или имени или полностью по фамилии, имени, отчеству.

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

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

Рисунок 2.6 - Панель параметров таблицы «Клиенты»

Рисунок 2.7 - Просмотр выделенной записи таблицы «Клиенты»

Рисунок 2.8 - Окно добавления нового клиента

Рисунок 2.10 - Блок-схема алгоритма выполнения команды «Добавить» таблицы «Клиенты»

Рисунок 2.10 - Поиск в таблице «Клиенты»

Рисунок 2.11 - Таблица «Посещения»

Рисунок 2.12 - Таблица «Каталог»

Рисунок 2.13 - Функциональная схема

2.2 Таблицы, ключи и связи

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

Таблица «Clients» (таблица 2.1) содержат личные и контактные данные о клиентах, получающих услуги в салоне.

Таблица 2.1 - Структура таблицы «Clients»

Field

Type

Key

Default

Extra

id

number

primary

auto_increment

last_name

varchar(50)

first_name

varchar(20)

mid_name

varchar(30)

null

birth_date

date

phone_num

varchar(12)

e_mail

varchar(50)

null

code_service

number

stat_date

date

source_inf

varchar(50)

null

discount

number

null

comment

varchar(300)

null

Автоинкрементируемое поле «id» является личным идентификационным номером каждого клиента, поэтому оно является первичным ключом (primary key) данной таблицы, однозначно определяющим его значение. Это поле с типом данных NUMBER может содержать положительные числа от 1. Также поле «id» является составляющей внешнего ключа (foreign key) таблиц «Clients» и «Visits».

Фамилия, имя и отчество клиента хранятся соответственно в полях «last_name», «first_name» и «mid_name». Тип данных этих полей - VARCHAR (символьный) с ограничением ввода (только русские буквы). Поля «last_name» и «first_name» являются обязательными для заполнения, поле «mid_name» может иметь неопределенное значение.

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

Для поддержания связи с клиентом в символьных полях «phone_num» и «e_mail» содержатся контактный номер сотового телефона и адрес электронной почты соответственно.

Поле «code_service» с типом данных NUMBER содержит код оказываемой клиенту услуги.

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

В поле «source_inf» указывается источник информации, откуда клиент узнал о салоне или мастере. Тип данных - VARCHAR.

Числовое поле «discount» содержит информацию о предоставляемой клиенту скидке, размер которой зависит от длительности обслуживания.

Дополнительная неформальная информация о клиенте хранится в поле «comment» с типом данных VARCHAR.

Таблица «Rates» (таблица 2.2) содержит данные об оказываемых услугах и их стоимости.

Таблица 2.2 - Структура таблицы «Rates»

Field

Type

Key

Default

Extra

code

number

primary_key

auto_increment

name_service

varchar(30)

price

number

Автоинкрементируемое поле «code» содержит однозначно идентифицирующий код каждой услуги, поэтому оно является первичным ключом (primary key) данной таблицы. Это поле с типом данных NUMBER может содержать положительные числа от 1. Поле является составляющей внешнего ключа к таблице «Visits».

Поле «name_service» с типом данных VARCHAR хранит наименование оказываемой услуги.

Поле «price» с типом данных NUMBER содержит стоимость услуги в рублях.

Таблица «Visits» (таблица 2.3) содержит информацию о всех посещениях каждого клиента в хронологической последовательности.

Таблица 2.3 - Структура таблицы «Visits»

Field

Type

Key

Default

Extra

1

2

3

4

5

num

number

primary_key

auto_increment

id

number

foreign_key

visit_date

date

1

2

3

4

5

code

number

foreign_key

next_date

date

recipe

varchar(255)

recom

varchar(255)

null

Автоинкрементируемое поле «num» однозначно идентифицирует конкретное посещение клиента, поэтому данное поле является первичным ключом (primary key).

Поле «id» является составляющей внешнего ключа (foreign_key) между таблицами «Clients» и «Visits», хранящей индивидуальный номер клиента. Это поле с типом данных NUMBER может содержать положительные числа от 1.

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

Поле «code» является составляющей внешнего ключа (foreign_key) между таблицами «Visits» и «Rates», хранящей индивидуальный код оказываемой услуги. Это поле с типом данных NUMBER может содержать положительные числа от 1.

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

Поле «recipe» с типом данных VARCHAR хранит технологические характеристики об оказанное услуге, например, о количестве и пропорциях краски для окрашивания.

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

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

Составляющими внешнего ключа таблица «Clients» и «Visits» является поле «id», которое присутствует в обеих таблицах. Это поле однозначно идентифицирует каждого клиента. Также чтобы избежать ошибок, к составляющим внешнего ключа применяется параметр NOT NULL. Данная связь является «один-ко-многим». Связь между таблицами представлена на рисунке 2.1.

Составляющими внешнего ключа таблиц «Visits» и «Rates» являются поле «code», присутствующее в обеих таблицах. Это поле однозначно идентифицирует код оказываемой услуги. Чтобы избежать ошибок целостности, к составляющим внешнего ключа применяется параметр NOT NULL. Данная связь является один-ко-многим. Связь между таблицами представлена на рисунке 2.2. Составляющими внешнего ключа таблиц «Clients» и «Rates» является поле, хранящее код оказываемой услуги. Чтобы избежать ошибок целостности, к составляющим внешнего ключа применяется параметр NOT NULL. Данная связь является один-ко-многим. Связь между таблицами представлена на рисунке 2.3. Общая схема связи таблиц представлена на рисунке 2.4.

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

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

Поле «id» таблицы «Clients» однозначно идентифицирует каждого клиента. Благодаря этому свойства записи одного клиента не будут ошибочно применены к свойствам записи другого.

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

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

Составляющими внешнего ключа таблица «Clients» и «Visits» является поле «id», которое присутствует в обеих таблицах. Это поле однозначно идентифицирует каждого клиента. Также чтобы избежать ошибок, к составляющим внешнего ключа применяется параметр NOT NULL. Данная связь является один-ко-многим.

Составляющими внешнего ключа таблиц «Visits» и «Rates» являются поле «code», присутствующее в обеих таблицах. Это поле однозначно идентифицирует код оказываемой услуги. Чтобы избежать ошибок целостности, к составляющим внешнего ключа применяется параметр NOT NULL. Данная связь является один-ко-многим.

Рисунок 2.14 - Схема связи между таблицами «Clients» и «Visits»

Рисунок 2.15 - Схема связи между таблицами «Visits» и «Rates»

Рисунок 2.16 - Схема связи между таблицами «Clients» и «Rates»

Рисунок 2.17 - Схема связи таблиц базы данных

2.3 Листинг

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.ExtCtrls, Vcl.DBCtrls,

Vcl.Grids, Vcl.DBGrids, Data.Win.ADODB, Vcl.Menus, Vcl.StdCtrls,

Vcl.Imaging.pngimage, Vcl.Mask;

type

TForm1 = class(TForm)

ADOConnection1: TADOConnection;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N8: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

N12: TMenuItem;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

DBGrid3: TDBGrid;

Panel1: TPanel;

Label4: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

DBEdit1: TDBEdit;

ADOQuery3: TADOQuery;

DataSource3: TDataSource;

ADOQuery2: TADOQuery;

DataSource2: TDataSource;

DBGrid2: TDBGrid;

DBEdit2: TDBEdit;

Panel2: TPanel;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

Button10: TButton;

Panel3: TPanel;

Button11: TButton;

Button12: TButton;

Button13: TButton;

Button14: TButton;

Button15: TButton;

DBEdit3: TDBEdit;

procedure FormCreate(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

procedure RadioButton1Click(Sender: TObject);

procedure Label4Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button15Click(Sender: TObject);

procedure Button14Click(Sender: TObject);

procedure Button13Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

b: boolean;

implementation

{$R *.dfm}

uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11,

Unit12, Unit13, Unit14;

procedure TForm1.Button10Click(Sender: TObject);

begin

Form13.ShowModal;

end;

procedure TForm1.Button12Click(Sender: TObject);

begin

Form10.ShowModal;

end;

procedure TForm1.Button13Click(Sender: TObject);

begin

Form6.ShowModal;

end;

procedure TForm1.Button14Click(Sender: TObject);

var

del: string;

btnsel: integer;

begin

del:= 'DELETE FROM rates WHERE code=' + DBEdit3.Text;

btnsel:= MessageDlg('Удаление записи', mtWarning, mbOKCancel, 0);

if (btnsel = mrOK)

then

begin

try

ADOQuery3.SQL.Clear;

ADOQuery3.SQL.Add(del);

ADOQuery3.ExecSQL;

ADOQuery3.SQL.Clear;

ADOQuery3.SQL.Add('SELECT * FROM rates ORDER BY name_service');

ADOQuery3.Active:=True;

except

on e:Exception do

end;

end;

if (btnsel = mrCancel)

then

begin

ShowMessage('Удаление записи отменено!');

end;

end;

procedure TForm1.Button15Click(Sender: TObject);

begin

Form5.ShowModal;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Form2.ShowModal;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Form8.ShowModal;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Form3.ShowModal;

end;

procedure TForm1.Button4Click(Sender: TObject);

var

btnsel: integer;

del, sel: string;

begin

del:= 'DELETE FROM clients WHERE id=' + DBEdit1.Text;

sel:= 'SELECT c.id, c.last_name, c.first_name, c.mid_name, c.birth_date, c.phone_num, c.e_mail, r.name_service, c.stat_time, c.source_inf, c.discount, c.comment FROM clients c JOIN rates r ON c.code_service=r.code';

btnsel:= MessageDlg('Удаление записи', mtWarning, mbOKCancel, 0);

if (btnsel = mrOK)

then

begin

try

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add(del);

ADOQuery1.ExecSQL;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add(sel);

ADOQuery1.Active:=True;

except

on e:Exception do

end;

end;

if (btnsel = mrCancel)

then

begin

ShowMessage('Удаление записи отменено!');

end;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

Form7.ShowModal;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

Form11.ShowModal;

end;

procedure TForm1.Button8Click(Sender: TObject);

begin

Form12.ShowModal;

end;

procedure TForm1.Button9Click(Sender: TObject);

var

del: string;

btnsel: integer;

begin

del:= 'DELETE FROM visits WHERE num=' + DBEdit2.Text;

btnsel:= MessageDlg('Удаление записи', mtWarning, mbOKCancel, 0);

if (btnsel = mrOK)

then

begin

try

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add(del);

ADOQuery2.ExecSQL;

ADOQuery2.SQL.Clear;

ADOQuery2.SQL.Add('SELECT * FROM visits ORDER BY visit_date');

ADOQuery2.Active:=True;

except

on e:Exception do

end;

end;

if (btnsel = mrCancel)

then

begin

ShowMessage('Удаление записи отменено!');

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

b:= true;

DBGrid1.Height:= 485;

RadioButton1.Checked:= true;

RadioButton2.Checked:= false;

RadioButton3.Checked:= false;

DBGrid1.Visible:= true;

DBGrid2.Visible:= false;

DBGrid3.Visible:= false;

DBGrid1.Columns[0].Width:= 30;

DBGrid1.Columns[1].Width:= 150;

DBGrid1.Columns[2].Width:= 150;

DBGrid1.Columns[3].Width:= 150;

DBGrid1.Columns[4].Width:= 100;

DBGrid1.Columns[5].Width:= 150;

DBGrid1.Columns[6].Width:= 200;

DBGrid1.Columns[7].Width:= 100;

DBGrid1.Columns[8].Width:= 100;

DBGrid1.Columns[9].Width:= 100;

DBGrid1.Columns[10].Width:= 100;

DBGrid1.Columns[11].Width:= 200;

end;

procedure TForm1.Label4Click(Sender: TObject);

begin

if (RadioButton1.Checked=true)

then

begin

if (Panel1.Visible = false)

then Panel1.Visible:= true

else Panel1.Visible:= false;

end;

if (RadioButton2.Checked=true)

then

begin

if (Panel2.Visible = false)

then Panel2.Visible:= true

else Panel2.Visible:= false;

end;

if (RadioButton3.Checked=true)

then

begin

if (Panel3.Visible = false)

then Panel3.Visible:= true

else Panel3.Visible:= false;

end;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Close;

end;

3. ОХРАНА ТРУДА И ТЕХНИКА БЕЗОПАСНОСТИ

3.1 Общее понятие охраны труда

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

К примеру, теоретические основы охраны труда и в принципе само понятие содержится в статье 1 Федерального закона «Об основах охраны труда в РФ» от 17 июля 1999 г. № 181-ФЗ. Данный федеральныйзакон определяет правовые основы регулирования отношений в области охраны труда между сторонами трудовых отношений, т.е. трудовые отношения работника и работодателя, и нацелен на создание таких условий труда, которые соответствовали бы требованиям сохранения здоровья и жизни работников в процессе трудовой деятельности.

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

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

Одним из источников воздействия на работника является его рабочее место. Рабочее место - это место, в котором работник находится в связи с его работой и которое контролируется работодателем, будь то прямо или косвенно [3].

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

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

- достаточное рабочее пространство, позволяющее осуществлять все необходимые движения и перемещения;

- наличие естественного и искусственного освещения для выполнения поставленных задач;

- уровень акустического шума не превышает допустимого значения.

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

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

3.2 Общие положения техники безопасности

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

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

- вводный;

- первичный;

- повторный;

- текущий;

- внеплановый.

Согласно ГОСТу 12.0.004-90 вводный инструктаж проводится со всеми новыми работниками, будь то постоянными или временными, вне зависимости от образования и стажа работы, а также с обучающимися образовательных учреждений, проходящих производственную практику на предприятии. Вводный инструктаж в обязательном порядке проводится только специалистом по охране труда или работником, которого приказом работодателя назначили и возложили эти обязанности. Проведение вводного инструктажа осуществляется в кабинете охраны труда или специально оборудованном помещении с использованием технических средств обучения и наглядных пособий. Продолжительность инструктажа соответствует программе инструктажа и составляет 2 часа. В ходе такого инструктажа главный инженер знакомит работника или практиканта с правилами внутреннего распорядка, основной нормативной документацией, правилами поведения в помещениях и на прилегающей территории. Также освещаются вопросы опасных и вредных производственных факторов в ходе осуществления производственной деятельности конкретного предприятия. Затрагиваются вопросы, касающиеся средств индивидуальной и коллективной защиты. Под такими средствами понимаются технические средства, используемые для предотвращения или сокращения степени воздействия на работников вредных или опасных производственных факторов, а также для защиты от загрязнения. Результаты инструктажа фиксируются в специальном журнале и подтверждаются подписями проводящего и проходящего инструктаж.

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

- индивидуально с каждым работником;

- с группой лиц, обслуживающих однотипное оборудование;

- в пределах общего рабочего места.

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

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

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

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

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

3.3 Техника безопасности программистов

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

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

- поражение электрическим током;

- травмы.

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

- электромагнитные поля, т.е. радиочастоты;

- статическое электричество.

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

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

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

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

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

- электрические сети;

- электрифицированное оборудование;

- вычислительная и организационная техника.

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

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

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

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

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

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

В то же самое время программиста, да и любому другому специалисту, запрещается:

- проходить в местах, не предназначенных для прохода людей;

- заходить без разрешения за ограждения технологического оборудования и опасных зон;

- снимать и перемещать ограждения опасных зон;

- стоять и проходить под поднятым грузом;

- прикасаться к оборванным электропроводам и электропроводам с повреждённой изоляцией;

- проходить под работающими наверху сварщиками, слесарями-ремонтниками, электромонтёрами;

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

До осуществления работ программист обязан проверить состояние своего рабочего места. Заострить своё внимание необходимо на следующем:

- правильность подключения оборудования в электросеть;

- освещённость на рабочем месте;

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

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

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

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

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

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

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

- материальная ответственность. В этом случае работник обязан возместить нанесённый ущерб предприятию и/или другим работникам;

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

3.4 Рациональное планирование рабочего места программиста

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

Рациональное рабочее место обеспечивает программисту удобное положение при работе и высокую производительность труда при наименьшем физическом и психическом напряжении. Под рациональным рабочим местом понимается хорошо приспособленное к трудовой деятельности программиста рабочее место, которое правильно и целесообразно организовано в отношении пространства, формы, размера. Согласно ГОСТ 12.2.032-78 конструкция рабочего места и взаимное расположение всех его элементов должно соответствовать антропометрическим, физическим и психологическим требованиям. Большое значение имеет также характер работы. Главными элементами рабочего места программиста являются письменный стол и кресло. Основным рабочим положением является положение сидя. Рабочее место для выполнения работ в положении сидя организуется в соответствии с ГОСТ 12.2.032-78. Рабочая поза сидя вызывает минимальное утомление программиста. Рациональная планировка рабочего места предусматривает четкий порядок и постоянство размещения предметов, средств труда и документации. То, что требуется для выполнения работ чаще, расположено в зоне легкой досягаемости рабочего пространства. Рабочее пространство также ещё называется моторным пространством. Моторное поле - это пространство рабочего места, в котором могут осуществляться двигательные действия человека. Моторное пространство делится на максимальную и оптимальную зоны. Максимальная зона досягаемости рук - это часть моторного поля рабочего места, ограниченного дугами, описываемыми максимально вытянутыми руками при движении их в плечевом суставе. Оптимальная зона - это часть моторного поля рабочего места, ограниченного дугами, описываемыми предплечьями при движении в локтевых суставах с опорой в точке локтя и с относительно неподвижным плечом. Эти зоны, а также рациональное размещение оборудования и документации наглядно представлено на рисунке 3.1.

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

- зона «а» - это зона максимальной досягаемости;

- зона «б» - это зона досягаемости пальцев при вытянутой руке;

- зона «в» - это зона легкой досягаемости ладони;

- зона «г» - это оптимальное пространство для грубой ручной работы;

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

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

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

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

- нижняя часть стола должна быть сконструирована так, чтобы программист мог удобно сидеть, не был вынужден поджимать ноги;

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

...

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

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

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

  • Основные концепции разработки приложения в трёхуровневой архитектуре. Проектное решение, реализующее модель реляционной БД. Спецификация на разработку интерфейса. Описание выполнения транзакций прибытия и убытия судна. Инсталляционные файлы приложения.

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

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

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

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

    курсовая работа [953,3 K], добавлен 01.09.2016

  • Назначение и характеристики пакета Designer/2000. Анализ предметной области для разработки информационной системы, определение ее целей и задач. Построение моделей данных, разработка базы данных и клиентского приложения. Практические навыки разработки.

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

  • Анализ существующих систем организации аудиосвязи. Протоколы аудиопереачи. Архитектура сетевого взаимодействия. Алгоритм серверного приложения. Структура клиентского приложения. Выбор языка программирования и средств разработки. Требования к системе.

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

  • Основные инструменты построения Web-приложения. Язык сценариев PHP. Системный анализ предметной области базы данных. Коды SQL запросов на создание таблиц. Разработка Web-приложения. Описание функциональности модулей. Система управления содержимым статей.

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

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

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

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

    курсовая работа [308,5 K], добавлен 14.10.2011

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

    курсовая работа [36,1 K], добавлен 29.01.2011

  • Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.

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

  • Анализ предметной области. Выработка требований и ограничений. Серверная часть информационной системы. Запросы клиентского приложения. Триггеры для поддержки сложных ограничений целостности в базе данных. Пользовательский интерфейс клиентского приложения.

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

  • Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.

    методичка [2,1 M], добавлен 11.09.2014

  • Основные понятия баз данных: нормализация, связи и ключи. Создание и этапы проектирования базы данных, решение задачи о предметной области. Изучение СУБД Microsoft Access s 2003: пользовательский интерфейс, главное окно приложения, создание таблиц.

    реферат [2,1 M], добавлен 10.11.2010

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

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

  • Реализация проекта по оптимизации отделений почтовой связи. Направления деятельности в области кадровой политики. Автоматизация обработки получаемой техническим отделом информации. Разработка приложения клиент-сервер. Описание клиентского приложения.

    курсовая работа [34,3 K], добавлен 07.08.2013

  • Разработка приложения с помощью среды Microsoft Visual Studio 2010 Express. Интерфейс приложения. Разработка конечного программного продукта, демонстрирующего работу многопоточного приложения, использующего взаимоисключение на основе критической секции.

    лабораторная работа [300,4 K], добавлен 21.07.2012

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

    курсовая работа [716,9 K], добавлен 02.12.2013

  • Создание многоуровневого приложения с Web-интерфейсом выставления оценки фильму и просмотра оценок других пользователей. Клиентская часть приложения. Разработка многопользовательского веб-приложения на ASP.NET MVC 3 с разграничением доступа к данным.

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

  • Характеристика системы программирования. Главные составные части Delphi. Интерфейс программного приложения. Результаты работы программы. Руководство системного программиста и оператора. Язык программирования Delphi, среда компилятора Borland 7.0.

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

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