Диплом Ищук Т.В. (1206777), страница 2
Текст из файла (страница 2)
Работники проектного института сформулировали ТЗ (техническое задание), в котором указана возможная структура АРМов. В данном дипломном проекте поставлена цель создать программное обеспечение, которое будет осуществлять автоматизацию технологического процесса отдела автоматики, телемеханики и связи, а также обеспечивать автоматизированный документооборот в отделе.
Основной целью программы является решение следующих задач:
-
Определение минимально допустимого времени на выполнение проекта. Для этого используются реальные затраты времени по каждому этапу проектирования для каждого отдела, которые берутся по ранее выполненным схожим или аналогичным проектам. Кроме того, необходимо учитывать возможность увеличения или уменьшения сроков проектирования применительно к конкретному проекту, с учетом объема работ и сложности исполнения.
-
Контроль выполнения каждого этапа проектирования в режиме онлайн, который осуществляется с минимальной градацией трудозатрат 1 человеко/день. Результаты данного контроля отображаются в виде линейного графика с отметкой процентного выполнения работ, в различных формах: по этапам, по отделам, по исполнителям.
-
Обеспечение каждого исполнителя конкретным заданием с установленным сроком в рамках согласованного линейного графика по данному проекту, а также предоставление в его распоряжение базы данных для выполнения порученного задания.
-
Формирование архивной базы, сбор опыта работы проектировщиков и передача накопленных знаний коллегам.
-
Контроль о фактической занятости каждого исполнителя в разработке порученного задания (по конкретному объекту).
Все эти задачи являются необходимым и обязательным условием построения АРМа проектировщика.
-
Структура АРМ проектировщика
С учетом областей применения возможно разделение АРМа проектировщика по функциональному признаку:
-
АРМ руководителей отдела.
К ним относятся начальник группы отдела, главный специалист и начальник отдела. Поскольку работа каждого из них специфична, нельзя разработать один АРМ, объединяющий их всех. Следует отдельно выделить: АРМ начальника группы, АРМ главного специалиста; АРМ начальника отдела.
-
АРМ инженера-проектировщика.
Так как инженеры-проектировщики непосредственно участвуют в создании проекта, для них требуется создание рабочего места, в котором они могли бы получать задания, самостоятельно планировать собственное время и иметь возможность свободно переходить от одного задания к другому. Также АРМ должен производить контроль за выполнением заданий путем фиксации времени затраченного на выполнение.
-
Средства разработки
-
СУБД
-
СУБД (система управления базами данных) – совокупность программных и языковых средств, направленных на создание БД, поддержание их в состоянии актуальном на данный момент времени и предоставление возможности осуществлять в них поиск информации. Первостепенной задачей СУБД является оптимизация поиска запрашиваемых пользователем данных.
-
Язык SQL
Для осуществления доступа к данным используется структурированный язык запросов (SQL – Structured Query Language). Так как для выполнения запроса пользователя требуется максимально большая скорость его выполнения, в современных СУБД применяются оптимизаторы запросов, механизмы кэширования, поддерживается параллельное выполнение запросов и т.д.
На данный момент язык SQL является общепризнанным стандартом при работе с СУБД реляционного типа. Язык SQL официально утвержден в качестве промышленного стандарта организациями по стандартизации ANSI (American National Standard Institute) и ISO/IEC (International Standards Organizations/International Electromechanical Commissions).
Команды SQL в стандарте ANSI разделены на группы, которые называются подразделами:
-
язык определения данных (DDL – Data Definition Language). В данную группу входят команды, которые выполняют функции по созданию, модификации и удалению объектов баз данных, таких как таблицы и представления. В эту группу также входят команды управления доступом пользователей к объектам БД;
-
язык манипулирования данными (DML – Data Manipulation Language). Данная группа включает в себя команды, применяемые для выполнения различных действий с данными в таблицах и представлениях, а именно, выборка данных, вставка новых, изменение и удаление существующих;
-
команды управления транзакциями (Transaction Control Statement). Транзакция – последовательность операций, выполняемых над базой данных, которые рассматриваются СУБД как единое целое. Транзакция либо может быть выполнена успешно, и в этом случае СУБД зафиксирует изменения в БД, произведенные этой транзакцией во внешней памяти, либо она может быть не выполнена, и в результате ни одно из этих изменений никак не отразится на состоянии базы данных. Команды из данной группы рассматриваются в совокупности с командами манипулирования данными и дают возможность контролировать изменение данных;
-
команды управления соединением (Session Control Statement). Команды данной группы позволяют управлять свойствами соединений;
-
команды управления системой (System Control Statement). С помощью команд данной группы осуществляется управление свойствами СУБД.
Любая СУБД поддерживает язык определения данных и язык манипулирования данными [1].
Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью команд языка SQL. СУБД обрабатывает команду, находит требуемые данные и посылает их пользователю. Эта информация обычно выдается на экран.
Важным моментом является то, что пользователь посылает SQL-запрос серверу баз данных, который возвращает лишь результат запроса, а не все данные из БД, как это происходит, например, если доступ к БД производится непосредственно из клиентского приложения.
На рисунке 1.5 изображена упрощенная схема работы SQL при выборке информации из базы данных.
Рисунок 1.5 –Упрощенная схема работы SQL при выборке информации из базы данных
-
Возможности СУБД
СУБД должна обладать следующими возможностями:
-
СУБД должна воспринимать и обрабатывать команды пользователей и приложений на выборку, изменение, добавление или удаление данных;
-
СУБД должна иметь функции по обеспечению безопасности, целостности, а в случае повреждения и по восстановлению хранящейся в базе данных информации;
-
СУБД должна иметь возможность принимать данные в исходной форме из различных по своей природе источников и преобразовывать их в форму, соответствующую собственным объектам;
-
в СУБД должен входить компонент, хранящий сведения обо всех объектах, которыми оперирует данная СУБД, и о связях между ними, а также сведения о самой СУБД, например, об используемой ею памяти, активных соединениях и т.д.;
-
желательно, чтобы в СУБД были реализованы механизмы оптимизации, обеспечивающие максимальную эффективность выполнения всех функций СУБД [1].
-
Архитектура СУБД
СУБД можно разделить как по характеру использования, так и по архитектуре построения. По характеру использования выделяются однопользовательские и многопользовательские СУБД.
СУБД является однопользовательской в том случае, если она является локальной и располагается на отдельном локальном компьютере. СУБД можно назвать многопользовательской, если она является компонентом вычислительной сети, обеспечивающим распределение обработки данных между множеством пользователей.
По архитектуре построения многопользовательские СУБД можно разделить на следующие виды архитектур:
-
архитектура с файловым сервером;
-
архитектура «клиент-сервер»;
-
архитектура с использованием сервера приложений (трехзвенная архитектура).
Все СУБД, созданные в последнее время, построены по архитектуре «клиент-сервер». Данная архитектура относится к описанию взаимодействия программ, находящихся как на одном компьютере, так и на разных.
Для организации архитектуры «клиент-сервер» необходимо наличие программ двух типов, а именно, программы-клиента и программы-сервера.
Программа-клиент является «активной» программой, то есть функции, предоставляемые ей, обеспечивают возможность осуществлять генерацию некоторых обращений за услугами к программе-серверу.
Программа-сервер, в свою очередь, является «пассивной» программой, то есть ее задачей является ожидание запроса от программы-клиента. Когда программой-сервером фиксируется такой запрос, производится его отработка и, при необходимости, программе-клиенту возвращаются некоторые результаты.
Взаимодействие между программой-клиентом и программой-сервером осуществляется по четко определенному интерфейсу, в противном случае программы не смогут работать друг с другом.
Центральной программой с точки зрения доступа к данным является программа-сервер БД. Именно по этой причине основная часть функций, которые должны быть включены в информационную систему, реализована в сервере БД. К основным функциям, которые должна выполнять программа-сервер БД, относятся:
-
выполнение клиентских запросов по извлечению и модификации данных. Данная функция сервера БД является основной. Механизм, по которому реализуется функция, может быть скрыт от пользователя, то есть пользователь (а, точнее, работающая с ним программа-клиент) формулирует то, что необходимо произвести с данными БД в данный момент, а сервер БД при поступлении запроса осуществляет его выполнение;
-
обеспечение одновременного доступа к данным для нескольких пользователей. Если доступ к БД является многопользовательским, то возникают дополнительные задачи, которые требуют решения. К подобным задачам можно отнести, например, блокировку данных. Блокировка заключается в том, что в определенные моменты времени часть данных должна быть закрыта для модификации, или даже для чтения другими пользователями. Другая сторона многопользовательского доступа – это предоставление параллельного доступа к данным, то есть сервер БД должен иметь возможность производить одновременную обработку сразу нескольких запросов;
-
обеспечение идентификацию пользователей и разграничение прав доступа, предоставляемых разным пользователям, к различным данным. То есть в программе-сервере БД должна быть предусмотрена возможность, во-первых, понимать команды, которыми описывается подобное разграничение прав, а, во-вторых, производить контроль за соблюдением этих разграничений в процессе обработки запросов пользователя;
-
обеспечение целостности и непротиворечивости данных в случае аппаратных и программных сбоев;
-
защита данных от несанкционированного доступа. Кроме разграничения доступа для разных категорий пользователей, серверу БД необходимо обеспечивать защиту от попыток получить доступ к данным лиц, не являющихся пользователями информационной системы;
-
предоставление дополнительных средств администрирования информационной системы. Информационная система должна предоставлять возможность добавлять или удалять пользователей, настраиваться на новые ресурсы и т.д. Также должна существовать процедура архивирования и восстановления данных.
В большинстве случаев, программа-клиент в СУБД осуществляет функции по взаимодействию с пользователем. Взаимодействие может строиться на основе каких-либо экранных форм или диалога. Основываясь на командах, введенных пользователем, программа-клиент формирует запрос к серверу БД. После того, как запрос будет обработан и требуемые данные найдены и переданы программе-клиенту, программа-клиент выводит их на экран.
Также могут существовать такие программы-клиенты, которые не имеют никакого взаимодействия с пользователем, а осуществляют выполнение системных задач. Для примера можно привести программу, принимающую сообщения по электронной почте, а затем извлекающей из них данные, с последующим занесением их в БД [2].
Примеры клиент-серверных СУБД: Firebird, Interbase, Microsoft SQL Server, MySQL, Oracle, IBMDB2, Informix.
-
Firebird
В дипломном проекте БД разрабатывается с использованием СУБД Firebird.
Firebird – компактная, кроссплатформенная СУБД с открытым кодом. Данная СУБД представляет собой SQL-сервер. Один SQL-сервер Firebird предоставляет возможность осуществлять обработку сразу несколько независящих друг от друга БД, каждая из которых может быть соединена с множеством пользователей. Важным достоинством сервера Firebird является то, что для его использования нет необходимости производить какие-либо лицензионные отчисления, даже при коммерческом использовании.
Клиентами серверу посылаются запросы, чтобы произвести различные манипуляции с данными в БД, включая:
-
поиск в БД по заданным условиям;
-
сравнение, сортировку и предоставление данных в табличном виде;
-
изменение хранимых данных;
-
добавление новых данных в БД;
-
удаление данных из БД;
-
создание новых БД и структур данных;
-
выполнение программного кода на сервере;
-
передачу сообщения другим клиентам, в данный момент связанным с сервером.
Преимущества, получаемые при разработке информационных систем на основе SQL-серверов, заключаются в следующем:
-
SQL-серверы прямо ориентированы на создание интегрированных, многопользовательских систем, имея в своем распоряжении развитые словари данных.
-
Развитый механизм обработки транзакций позволяет обеспечить целостность данных при одновременной работе многих пользователей.
-
Использование единого языка доступа к данным (SQL) позволяет упростить переход от одной СУБД к другой.
-
Поддерживается возможность работы, как в локальной, так и в глобальной сетях.
СУБД Firebird полностью соответствует приведенным выше требованиям.
Серверный процесс является полностью сетевым, он поддерживает запросы на подключение от других узлов сети и тот же самый протокол Firebird прикладной программы, что и клиентские процессы. Несколько клиентов могут быть связаны с многопоточным процессом сервера одновременно. Сервер регулирует доступ к отдельным записям данных в пределах БД и обеспечивает монопольный доступ к записям, когда клиенты выдают запросы на изменение данных в них.