Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

инфопособие2013

.pdf
Скачиваний:
14
Добавлен:
04.06.2015
Размер:
6.14 Mб
Скачать

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

В общем плане можно выделить следующие функции, реализуемые СУБД:

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

организация и поддержание физической структуры данных во внешней памяти;

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

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

Известны три основные модели организации данных:

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

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

реляционная (наборы данных представляют собой таблицы).

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

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

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

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

отношению к текущему состоянию базы данных. Транзакции принято разделять на две разновидности – изменяющие состояние базы данных

после завершения

транзакции

и изменяющие состояние БД временно,

с восстановлением

исходного

состояния данных после завершения

транзакции. Совокупность функций СУБД по организации и управлению транзакциями называют монитором транзакций. Источником транзакций может быть как один пользователь, так и несколько сразу. По этому критерию СУБД классифицируют на однопользовательские (или настольные) и многопользовательские (промышленные) СУБД. Примерами настольных СУБД являются MicrosoftAccess, Paradox и др. К промышленным СУБД относятся Oracle, DB2, Informix, SQL Server и т. д.

Непосредственная обработка и доступ к данным в большинстве СУБД осуществляются средствами операционной системы или собственными средствами системы буферов оперативной памяти, куда на время обработки и доступа помещаются отдельные компоненты файла БД

(страницы). Поэтому

другой составной частью функции СУБД

по организации доступа

и обработки данных является управление

буферами оперативной памяти.

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

Таким образом, можно выделить в структуре СУБД следующие функциональные блоки:

процессор описания и поддержания структуры БД;

процессор запросов к БД;

монитор транзакций;

интерфейс ввода данных;

интерфейс запросов;

интерфейс выдачи сведений;

генератор отчетов.

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

Для создания, модификации и управления базами данных применяется специальный универсальный компьютерный язык SQL (Structured Query

Language — «язык структурированных запросов»)

 

Функции монитора

транзакций

заключаются

в организации

совместного исполнения

транзакций

от нескольких

пользователей

над общими данными.

 

 

 

 

 

 

154

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

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

Признаками по которым можно классифицировать СУБД, являются:

среда функционирования, то есть платформа, на которой работает СУБД;

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

• возможности встроенного языка СУБД, его переносимость

вдругие приложения;

наличие развитых диалоговых средств конструирования и средств работы с БД;

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

возможность работы с объектными и объектно-реляционными

данными;

уровень использования (настольный, промышленный);

возможности интеграции данных из других СУБД;

степень

поддержки языка SQL и возможности работы

с сервером БД;

 

наличие

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

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

11.5 Этапы разработки программ. Решение задач на ЭВМ

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

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

Второй этап – построение математической модели

рассматриваемого объекта или явления, т.е. описание его закономерностей

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

сводящий решение к последовательности арифметических и логических операций.

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

Рис. 11.1. Этапы решения задач с помощью ЭВМ

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

156

Когда все ошибки программы устранены, наступает следующий этап – решение задачи на ЭВМ.

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

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

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

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

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

Цель тестирования − выявление ошибок, цель отладки – выявление причин и устранение ошибок.

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

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

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

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

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

Оболочки языков программирования высокого уровня предоставляют программисту возможности диагностики ошибок. Запустив в работу программу, содержащую синтаксическую ошибку, получим на экране компьютера диагностику: сообщение, что в программе имеется ошибка, с указанием типа ошибки (как поняла это машина), и места, где обнаружена ошибка.

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

1.Результат работы программы не совпадает с эталонным или не соответствует предусмотренной форме и содержанию.

2.Не печатаются результатов из-за бесконечного повторения одной

итой же части программы.

3.Нарушен процесс автоматических вычислений.

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

11.6. Программный продукт. Особенности разработки и требования к качеству программного обеспечения

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

158

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

нужна какая-либо консультация

по

использованию

программы,

а обращаемся

к сопроводительным

документам. Сами

программы мы

покупаем в магазинах на электронных

носителях или

через Интернет,

а предприятия,

нуждающиеся в

каком-либо особом

программном

обеспечении, заказывает его у компьютерных фирм-разработчиков. Таким образом, в конце ХХ в. сформировалось новое экономическое понятие – «программный продукт». Этот продукт является результатом нового вида современного промышленного производства.

Все программы по характеру использования и категориям пользователей можно разделить на два класса – утилитарные программы

и программные продукты (изделия).

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

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

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

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

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

на которую они ориентируются. Это спецификация системных

требований.

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

Третий этап – программная реализация проекта или программирование.

Четвертый этап – это отладка и тестирование программ. Цель тестирования − выявление ошибок, цель отладки − выявление причин и устранение ошибок.

Пятый этап – это апробация или опытнаяэксплуатация

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

Шестой этап – это промышленная эксплуатация программного обеспечения.

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

системные, обучающие и справочные.

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

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

11.7. Виды программных продуктов

Разработчики программных продуктов, как и другие производители товаров, заинтересованы в прибыли от реализации своего товара. Для этого они ограждают программное обеспечение правовой защитой (законы об авторских правах) и специальными средствами защиты (ключами, ограничением количества установок и пр.). Тем не менее, разработчики, выпускают бесплатное и условно-бесплатное ПО (табл. 11.3, 11.4, 11.5, 11.6)

160

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

Талица 11.3

Категории бесплатного и условно-бесплатного ПО

Категория

Использование

Ограничения

 

 

 

 

 

Нет ограничений, для личного пользования,

А

Свободное

в образовательных целях

 

 

 

 

 

Функциональное ограничение, ограничение

 

 

коммерческой версии на время и данные,

В

Ограниченное

принудительный показ рекламы—все

 

 

с возможностью бесплатного функционально

 

 

приемлемого использования длительное

 

 

время

 

 

 

 

Пробное

Лимитирование по времени (до оплаты)

С

 

на свободное или ограниченное

 

 

использование

D

Для просмотра

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

 

 

 

Таблица 11.4

Разновидности бесплатных программ

Разновидность

Категории

Описание условий использования

 

A

В

С

D

 

 

 

 

 

 

 

freeware

+

 

 

 

Бесплатные программы. Программы без ограничения

 

 

 

 

 

на (некоммерческое) использование. Охраняются авторским

 

 

 

 

 

правом

public domain

+

Свободные программы. Без ограничений на модификацию и

 

 

 

 

 

использование. Не охраняются авторским правом

 

 

 

 

 

 

donateware

+

Авторские программы. Для необязательной регистрации

(donationware,

 

 

 

 

программы требуется уплатить пожертвование автору

IfYouLikeltWare)

 

 

 

 

 

 

 

 

 

 

 

opensource

+

Открытые программы (с исходными текстами) Могут

 

 

 

 

 

накладываться ограничения на модификацию и использование

 

 

 

 

 

в коммерческих целях.

cardware

+

В качестве компенсации за предоставление программы автор

(postcardware)

 

 

 

 

просит прислать ему открытку (или электронное письмо)

 

 

 

 

 

со словами благодарности. Эти письма используются авторами

 

 

 

 

 

для рекламы своих работ

 

 

 

 

 

 

linkware

+

Автор программы просит указывать ссылку (на сайте

 

 

 

 

 

пользователя, если есть) на свой сайт

 

 

 

 

 

 

regislerware

+

Для получения и/или использования программы требуется

 

 

 

 

 

предоставить информацию о себе (заполнить анкету).

 

 

 

 

 

 

guiltware

+

Разновидность nagware. В программе содержится явное

 

 

 

 

 

упоминание, что автор не получил за нее денег. Может и не

 

 

 

 

 

предусматривать регистрации (оплаты)

abandonware

+

+

+

 

Внерыночные программы. Как правило, это бывшие

 

 

 

 

 

коммерческие программы, которые по ряду причин (обычно это

 

 

 

 

 

связано с ликвидацией/поглощением владельца

 

 

 

 

 

имущественных прав) перестают поставлять на рынок. Их

 

 

 

 

 

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

 

 

 

 

 

на бесплатной основе, но с жестким обязательством запрета

 

 

 

 

 

продавать и даже без права дальнейшего бесплатного

 

 

 

 

 

тиражирования

orphanware

+

+

Разновидность abandonware, когда автора нельзя разыскать

 

 

 

 

 

 

adware

+

Рекламно-ориентированные программы. Без ограничений

 

 

 

 

 

функциональности, но с принудительным показом рекламы,

 

 

 

 

 

которая может подгружаться через Интернет без ведома

 

 

 

 

 

пользователя.

 

 

 

 

 

Обычно включают модуль фоновой загрузки рекламы, что таит

 

 

 

 

 

в себе опасность несанкционированного дистанционного

 

 

 

 

 

контроля компьютера. Антивирусные программы часто

 

 

 

 

 

классифицируют данный механизм как "троянского коня"

spyware

+

+

+

 

Программы-шпионы. Несанкционированно собирают

 

 

 

 

 

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

 

 

 

 

 

Нередко маскируются под adware. Помимо использования

 

 

 

 

 

антивирусных программ наиболее эффективный способ

 

 

 

 

 

борьбы - установка брандмауэров (защитных сетевых экранов).

 

 

 

 

 

Более опасно malware — программы с вредоносным кодом (не

 

 

 

 

 

обязательно вирусы)

 

 

 

 

 

162