Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Языки и системы программирования (см. Лекцию по компьютерным информационным технологиям)

Средства и среды разработки автоматизированных информационных систем организационного управления

 

Основными инструментальными средствами разработки АИСО являются языки (или системы) программирования и системы управления базами данных (СУБД).

 

 

Языки и системы программирования (см. Лекцию по компьютерным информационным технологиям)

 

 

Системы управления базами данных

 

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

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

 

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

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

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

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

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

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

 

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

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

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

 

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

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

 

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

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

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

 

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

Компромиссное решение применено в файловых системах ОС UNIX.

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

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

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

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

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

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

В современных реализациях файловых систем ОС UNIX поддерживается синхронизация при открытии файлов. Кроме того, существует возможность синхронизации нескольких процессов, параллельно модифицирующих один и тот же файл. Для этого введен специальный механизм синхронизационных захватов диапазонов адресов открытого файла.

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

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

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

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

 

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

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

 

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

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

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

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

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

 

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

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

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

 

Основными компонентами СУБД являются:

средства интерактивного управления системой (оболочка, командный язык управления средой – создание, копирование и удаление файлов, просмотр каталогов данных и т.д.);

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

средства описания структуры (структурирования) данных или средства ведения словаря данных (язык описания данных);

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

средства формирования запросов к БД (языки запросов);

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

 

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

 

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

 

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

Функции словаря данных присутствуют во всех СУБД, но не всегда выполняющий эти функции компонент имеет именно такое название. Часто его называют языком описания данных. Но в результате интерактивного описания данных с помощью такого языка в системе создается информационный массив, хранящий эти описания и по сути является словарем.

 

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

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

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

 

Важнейшим элементам любой СУБД является язык запросов. В силу своего широкого использования международным стандартом языка запросов стал язык SQL (Structured Query Language). В настоящее время он реализован практически во всех популярных СУБД либо как базовый, либо как альтернативный. Язык SQL предоставляет развитые возможности работы с базой данных как конечным пользователям, так и профессионалам.

 

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

управление размещением и обработкой данных во внешней памяти

управление буферами оперативной памяти (для ускорения обмена между внешней и оперативной памятью);

управление транзакциями (транзакция - некоторая неделимая последовательность операций над БД, если транзакция не завершена, она отменяется);

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

обеспечение безопасности (шифрование, пароли, поддержание уровней доступа).

 

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

 

 

В самом общем виде цикл взаимодействия пользователя с АИСО разработанной и исполняемой средствами СУБД можно представить так:

пользователь вводит обращение к БД через приложение;

приложение на программном уровне обращается к стандартным средствам СУБД по доступу к данным;

СУБД своими средствами определяет местоположение требуемых данных и передает управление операционной системе;

программы методов доступа к файловой системе ОС считывают данные из внешней памяти и размещают их в буферах СУБД;

СУБД преобразует данные к требуемому формату;

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

 

В настоящее время СУБД являются основным средством разработки и средой исполнения АИС организаций. Их более глубокому изучению мы посвятим отдельное учебное пособие. А сейчас остановимся на вопросе интеграции технологии систем управления базами данных и Web-технологий.

 

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

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

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...