Файл: Задачи данной работы изучение технического задания, полученного от предприятия.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.11.2023
Просмотров: 76
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
проектирования БД и прикладного программного обеспечения, инструменты реорганизации файлов данных и индексных данных, службы аудита и многое другое. Однако все дополнительные сервисы и службы выполняют вспомогательную роль, а основы жизнедеятельности СУБД определяются перечисленными функциями.
1.2.4 Компоненты СУБД
СУБД — сложный вид программного обеспечения, над созданием которого работают большие коллективы высококвалифицированных программистов. На современном рынке программного обеспечения конкурирует около двух десятков коммерческих СУБД. Из малых систем, рассчитанных на одного пользователя, сегодня наибольшей популярностью пользуются: Microsoft Access и Microsoft FoxPro.
В перечень многопользовательских СУБД, получивших широкое признание, входят: Oracle, Microsoft SQL Server, InterBase, FireBird, MySQL, Postgre, Informix, DB3. Несмотря на то, что все перечисленные программные продукты предназначены для решения практически одних и тех же задач, входящие в СУБД программные компоненты и взаимосвязи между ними далеко не идентичны.
Для того чтобы СУБД оказалась в состоянии предоставлять минимальный набор из рассмотренных восьми сервисов, она должна состоять из набора компонентов (рисунок А.1). Над верхним уровнем системы расположены потребители услуг СУБД:
Администратор БД отвечает за планирование и физическую реализацию проекта. Он создает основные объекты БД, определяет правила поддержания целостности и непротиворечивости данных, управляет политикой безопасности, анализирует процесс эксплуатации проекта, одним словом поддерживает жизнедеятельность БД. В распоряжении администратора имеются разнообразные средства проектирования БД, эти средства могут входить в состав СУБД в виде дополнительных программных модулей, а могут быть поставлены и сторонними разработчиками [9].
Программисты совместно с администратором работают над физическим созданием проекта БД. Но прикладных программистов в большей степени интересует не сама концепция проекта БД, а способы донесения этой концепции до конечного пользователя. Поэтому область интересов программистов смещена в сторону разработки клиентских приложений и отчетов. Основным инструментом прикладного программиста выступают многочисленные среды проектирования, как правило, 4-го поколения (4 Generation Level, 4GL). В первую очередь это программные пакеты Embarcadero RAD Studio (в состав которого и входит язык Delphi) и Microsoft Visual Studio. Кроме того, некоторые СУБД (например, Microsoft Access и FoxPro) обладают встроенными средствами проектирования, но обычно возможности таких средств существенно ограничены.
Основным потребителем услуг СУБД выступает обычный пользователь — в его интересах создаются БД и прикладное программное обеспечение. Среди пользователей есть и неплохие специалисты, чьи советы способны помочь разработчикам БД, а на другом конце спектра находятся пользователи, с трудом находящие нужные кнопки на клавиатуре. Последние могут даже и не понимать, что они работают с БД, расположенной на другом компьютере.
Основным средством общения между людьми и базой данных выступает структурированный язык запросов SQL. Поэтому средства проектирования БД, ПО и клиентские приложения БД отправляют в адрес СУБД инструкции на языке SQL. Эти команды поступают на процессор запросов СУБД, который преобразует их в набор низкоуровневых команд, понятных ядру СУБД [10].
К базе данных могут обращаться различные категории пользователей, от руководителя предприятия до случайного посетителя. Одним из них разрешается просматривать и редактировать любые данные, другим могут быть доступны лишь выборочные сведения, третьим вообще не следует даже знать о существовании БД. Именно поэтому в составе большинства СУБД имеется модуль, отвечающий за контроль прав доступа. В простейшем случае модуль следит за тем, чтобы к БД присоединялись только авторизованные пользователи, для этого полученные во время регистрации пароль и логин потенциального клиента сверяются с хранящимися в системном каталоге учетными записями. В современных многопользовательских СУБД система безопасности значительно сложнее и включает в себя комплекс программных, а иногда и аппаратных средств защиты [10].
Убедившись, что инструкция поступила от доверенного лица, модуль контроля прав доступа передает ее в распоряжение процессора команд. В первую очередь процессор убеждается, что поступившая команда не противоречит ограничениям целостности данных. Это зона ответственности модуля контроля целостности данных. На время проверки команды на соответствие ограничениям целостности доменов, сущностей и связей задействуется контроллер системного каталога. Именно он имеет возможность собирать метаданные, в которых прячется техническое описание нашей БД. Поняв, что угрозы целостности нет, процессор передает команду оптимизатору запросов. Задача оптимизатора — найти наиболее эффективный способ выполнения поступивших команд. Наконец, оптимизированная команда компилируется и передается во власть системе управления транзакциями. Система управления транзакциями, во-первых, отвечает за полное и корректное выполнение блока команд и, во-вторых, совместно с планировщиком заданий обеспечивает параллельную многопользовательскую обработку данных. Наконец блок команд передается в распоряжение контроллеру баз данных. Задача модуля заключается в организации взаимодействия СУБД с файлами БД и файлами системного каталога. При этом для осуществления стандартных операций ввода-вывода задействуются возможности операционной системы.
1.3 Средства и инструменты
Для создания информационной системы рассмотрено несколько видов локальных серверов, из которых выбран один, отвечающий требованиям системы. Также определены языки программирования, с помощью которых будет создаваться база и интерфейс.
1.3.1 Локальный сервер
Локальный сервер – специальная программа, позволяющая веб-разработчикам разрабатывать сайт на локальном компьютере, без необходимости выхода в интернет.
1.3.1.1 Open Server
OpenServer - это, пожалуй, наилучший комплект на сегодняшний день для создания и тестирования локальных сайтов под Windows. Удобное меню, система запуска, простое создание виртуальных хостов, внимание к мелочам позволяют легко работать начинающим веб-разработчикам, а входящие в комплект компоненты устроят и профессиональных программистов. Включает в себя: Apache, nginx, PHP, MySQL, phpMyAdmin, FTP-сервер FileZilla. OpenServer занимает практически 50 Мб, что раза в три превосходит объём других комплектов, при этом и содержит довольно внушительный набор компонент. Для удобства имеется русская версия.
Несмотря на практичность и комфортность работы, комплект имеет и некоторые недостатки. Он запускается только под Windows XP SP3, Windows Vista или Windowsn 7 с административными правами. Также может возникнуть несовместимость с другими установленными программами, которая потребует отдельного отлаживания [12].
1.3.1.2 XAMPP
Комплект XAMPP существует в нескольких вариантах поставки: для операционной системы Linux, Windows, Mac OS X и Solaris. Включает в себя: Apache, MySQL, PHP, phpMyAdmin, Perl, FileZilla FTP Server, Mercury Mail Transport System. Отсутствует русская версия.
Несмотря на то, что XAMPP включает в себя самое необходимое для создания веб-сервера и даже более, он не может похвастаться обширными возможностями по настройке компонент. Все настройки приходится делать через разбросанные по разным папкам конфигурационные файлы, а не панель управления, которая, несмотря на свое наличие, выполняет лишь номинальные функции. В общем, XAMPP нужен лишь для того, чтобы автоматически установить несколько программ одновременно и запускать их. Однако этого явно недостаточно, чтобы считаться удобным комплектом [12].
1.3.1.3 Denver
Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») - проект Дмитрия Котерова, локальный сервер и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет.
Главная особенность Денвера - удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе. Компоненты, которые в себя включает базовый пакет Денвера:
система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, необходимо лишь добавить нужную директорию в каталог /home, править конфигурационные файлы не требуется. - Система управления запуском и завершением всех компонентов Денвера:
1.3.2 Языки программирования
Язык программирования – это формальная знаковая система, которая предназначена для написания программ.
Для создания информационной системы использовались различные языки программирования каждый из которых предназначен для своего компонента.
1.3.2.1 HTML
HTML (HyperText Markup Language) - это язык разметки документа, описывающий форму отоюражения информации на экране компьютера. Большинство веб-страниц содержат описание разметки на языке HTML [14].
1.3.2.2 CSS
Каскадные таблицы стилей (CSS - Cascading Style Sheets) позволяют существенно расширить возможности языка HTML за счет более гибкого управления форматированием Web-страницы. Применение стилей позволяет задавать точные характеристики практически всех элементов Web-страницы, а это значит, что можно точно контролировать внешний вид Web-страницы в окне Web-браузера [14].
1.3.2.3 JavaScript JavaScript - это язык программирования, позволяющий сделать Web-страницу интерактивной, т. е. реагирующей на действия пользователя.
Последовательность инструкций выполняется интерпретатором, встроенным в сам Web-браузер. Иными словами, код программы внедряется в HTML-документ и выполняется на стороне клиента. Для выполнения программы не нужно перезагружать Web-страницу. Все программы выполняются в результате возникновения какого-то события. Например, перед отправкой данных формы можно проверить их на допустимые значения и, если значения не соответствуют ожидаемым, запретить отправку данных [15].
1.2.4 Компоненты СУБД
СУБД — сложный вид программного обеспечения, над созданием которого работают большие коллективы высококвалифицированных программистов. На современном рынке программного обеспечения конкурирует около двух десятков коммерческих СУБД. Из малых систем, рассчитанных на одного пользователя, сегодня наибольшей популярностью пользуются: Microsoft Access и Microsoft FoxPro.
В перечень многопользовательских СУБД, получивших широкое признание, входят: Oracle, Microsoft SQL Server, InterBase, FireBird, MySQL, Postgre, Informix, DB3. Несмотря на то, что все перечисленные программные продукты предназначены для решения практически одних и тех же задач, входящие в СУБД программные компоненты и взаимосвязи между ними далеко не идентичны.
Для того чтобы СУБД оказалась в состоянии предоставлять минимальный набор из рассмотренных восьми сервисов, она должна состоять из набора компонентов (рисунок А.1). Над верхним уровнем системы расположены потребители услуг СУБД:
-
администратор БД; -
программисты; -
пользователи.
Администратор БД отвечает за планирование и физическую реализацию проекта. Он создает основные объекты БД, определяет правила поддержания целостности и непротиворечивости данных, управляет политикой безопасности, анализирует процесс эксплуатации проекта, одним словом поддерживает жизнедеятельность БД. В распоряжении администратора имеются разнообразные средства проектирования БД, эти средства могут входить в состав СУБД в виде дополнительных программных модулей, а могут быть поставлены и сторонними разработчиками [9].
Программисты совместно с администратором работают над физическим созданием проекта БД. Но прикладных программистов в большей степени интересует не сама концепция проекта БД, а способы донесения этой концепции до конечного пользователя. Поэтому область интересов программистов смещена в сторону разработки клиентских приложений и отчетов. Основным инструментом прикладного программиста выступают многочисленные среды проектирования, как правило, 4-го поколения (4 Generation Level, 4GL). В первую очередь это программные пакеты Embarcadero RAD Studio (в состав которого и входит язык Delphi) и Microsoft Visual Studio. Кроме того, некоторые СУБД (например, Microsoft Access и FoxPro) обладают встроенными средствами проектирования, но обычно возможности таких средств существенно ограничены.
Основным потребителем услуг СУБД выступает обычный пользователь — в его интересах создаются БД и прикладное программное обеспечение. Среди пользователей есть и неплохие специалисты, чьи советы способны помочь разработчикам БД, а на другом конце спектра находятся пользователи, с трудом находящие нужные кнопки на клавиатуре. Последние могут даже и не понимать, что они работают с БД, расположенной на другом компьютере.
Основным средством общения между людьми и базой данных выступает структурированный язык запросов SQL. Поэтому средства проектирования БД, ПО и клиентские приложения БД отправляют в адрес СУБД инструкции на языке SQL. Эти команды поступают на процессор запросов СУБД, который преобразует их в набор низкоуровневых команд, понятных ядру СУБД [10].
К базе данных могут обращаться различные категории пользователей, от руководителя предприятия до случайного посетителя. Одним из них разрешается просматривать и редактировать любые данные, другим могут быть доступны лишь выборочные сведения, третьим вообще не следует даже знать о существовании БД. Именно поэтому в составе большинства СУБД имеется модуль, отвечающий за контроль прав доступа. В простейшем случае модуль следит за тем, чтобы к БД присоединялись только авторизованные пользователи, для этого полученные во время регистрации пароль и логин потенциального клиента сверяются с хранящимися в системном каталоге учетными записями. В современных многопользовательских СУБД система безопасности значительно сложнее и включает в себя комплекс программных, а иногда и аппаратных средств защиты [10].
Убедившись, что инструкция поступила от доверенного лица, модуль контроля прав доступа передает ее в распоряжение процессора команд. В первую очередь процессор убеждается, что поступившая команда не противоречит ограничениям целостности данных. Это зона ответственности модуля контроля целостности данных. На время проверки команды на соответствие ограничениям целостности доменов, сущностей и связей задействуется контроллер системного каталога. Именно он имеет возможность собирать метаданные, в которых прячется техническое описание нашей БД. Поняв, что угрозы целостности нет, процессор передает команду оптимизатору запросов. Задача оптимизатора — найти наиболее эффективный способ выполнения поступивших команд. Наконец, оптимизированная команда компилируется и передается во власть системе управления транзакциями. Система управления транзакциями, во-первых, отвечает за полное и корректное выполнение блока команд и, во-вторых, совместно с планировщиком заданий обеспечивает параллельную многопользовательскую обработку данных. Наконец блок команд передается в распоряжение контроллеру баз данных. Задача модуля заключается в организации взаимодействия СУБД с файлами БД и файлами системного каталога. При этом для осуществления стандартных операций ввода-вывода задействуются возможности операционной системы.
1.3 Средства и инструменты
Для создания информационной системы рассмотрено несколько видов локальных серверов, из которых выбран один, отвечающий требованиям системы. Также определены языки программирования, с помощью которых будет создаваться база и интерфейс.
1.3.1 Локальный сервер
Локальный сервер – специальная программа, позволяющая веб-разработчикам разрабатывать сайт на локальном компьютере, без необходимости выхода в интернет.
1.3.1.1 Open Server
OpenServer - это, пожалуй, наилучший комплект на сегодняшний день для создания и тестирования локальных сайтов под Windows. Удобное меню, система запуска, простое создание виртуальных хостов, внимание к мелочам позволяют легко работать начинающим веб-разработчикам, а входящие в комплект компоненты устроят и профессиональных программистов. Включает в себя: Apache, nginx, PHP, MySQL, phpMyAdmin, FTP-сервер FileZilla. OpenServer занимает практически 50 Мб, что раза в три превосходит объём других комплектов, при этом и содержит довольно внушительный набор компонент. Для удобства имеется русская версия.
Несмотря на практичность и комфортность работы, комплект имеет и некоторые недостатки. Он запускается только под Windows XP SP3, Windows Vista или Windowsn 7 с административными правами. Также может возникнуть несовместимость с другими установленными программами, которая потребует отдельного отлаживания [12].
1.3.1.2 XAMPP
Комплект XAMPP существует в нескольких вариантах поставки: для операционной системы Linux, Windows, Mac OS X и Solaris. Включает в себя: Apache, MySQL, PHP, phpMyAdmin, Perl, FileZilla FTP Server, Mercury Mail Transport System. Отсутствует русская версия.
Несмотря на то, что XAMPP включает в себя самое необходимое для создания веб-сервера и даже более, он не может похвастаться обширными возможностями по настройке компонент. Все настройки приходится делать через разбросанные по разным папкам конфигурационные файлы, а не панель управления, которая, несмотря на свое наличие, выполняет лишь номинальные функции. В общем, XAMPP нужен лишь для того, чтобы автоматически установить несколько программ одновременно и запускать их. Однако этого явно недостаточно, чтобы считаться удобным комплектом [12].
1.3.1.3 Denver
Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») - проект Дмитрия Котерова, локальный сервер и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет.
Главная особенность Денвера - удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе. Компоненты, которые в себя включает базовый пакет Денвера:
-
инсталлятор (поддерживается также инсталляция на flash-накопитель); -
Apache, SSL, SSI, mod_rewrite, mod_php; -
PHP5 с поддержкой GD, MySQL, sqLite; -
MySQL5 с поддержкой транзакций;
система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, необходимо лишь добавить нужную директорию в каталог /home, править конфигурационные файлы не требуется. - Система управления запуском и завершением всех компонентов Денвера:
-
phpMyAdmin - система управления MySQL через Web-интерфейс; -
эмулятор sendmail и SMTP-сервера [13].
1.3.2 Языки программирования
Язык программирования – это формальная знаковая система, которая предназначена для написания программ.
Для создания информационной системы использовались различные языки программирования каждый из которых предназначен для своего компонента.
1.3.2.1 HTML
HTML (HyperText Markup Language) - это язык разметки документа, описывающий форму отоюражения информации на экране компьютера. Большинство веб-страниц содержат описание разметки на языке HTML [14].
1.3.2.2 CSS
Каскадные таблицы стилей (CSS - Cascading Style Sheets) позволяют существенно расширить возможности языка HTML за счет более гибкого управления форматированием Web-страницы. Применение стилей позволяет задавать точные характеристики практически всех элементов Web-страницы, а это значит, что можно точно контролировать внешний вид Web-страницы в окне Web-браузера [14].
1.3.2.3 JavaScript JavaScript - это язык программирования, позволяющий сделать Web-страницу интерактивной, т. е. реагирующей на действия пользователя.
Последовательность инструкций выполняется интерпретатором, встроенным в сам Web-браузер. Иными словами, код программы внедряется в HTML-документ и выполняется на стороне клиента. Для выполнения программы не нужно перезагружать Web-страницу. Все программы выполняются в результате возникновения какого-то события. Например, перед отправкой данных формы можно проверить их на допустимые значения и, если значения не соответствуют ожидаемым, запретить отправку данных [15].