инфопособие2011
.pdfИнформатика |
143 |
|
|
Средства тестирования, диагностики и отладки предназначены для проверки работоспособности, наладки и технической эксплуатации, используются инженерно-техническим персоналом, обслуживающим ВТ. тестирования ПК являются, например, FreshDiagnose, EVEREST UltimateEdition, предоставляющие наглядную информацию о состоянии узлов ПК.
11.1.3 Состав и назначение прикладного ПО
Прикладное программное обеспечение− непосредственно обеспечивают выполнение необходимых пользователю работ. Это те программы, ради которых мы и приобретаем средства информатизации.Пакеты прикладных программ (ППП) общего назначения ориентированы на широкий круг пользователей в различных областях. К пакетам этого типа относятся: текстовые редакторы (ТекСтр, MS Word, Сырный Пароль от WEBaby и др.); электронные таблицы (MS Exell, QuatroPro, SuperCalc, электронные таблицы из
OpenOffice или KSpread из пакета KOffice); СУБД (dBase, Oracle, MySQL,
Reflex, Clipper); деловая графика (MS Chart, ChartMaster, Graf,
Lotus).Проблемно-ориентированные ППП используют особые методы представления и обработки информации к ним относятся: графический
(PaintBrush, CorelDraw, HardGrafics); математические (MathCAD, Reduce, Mathematica); прикладной математики (Optinet, LP-16, FP-16); статистические
(StatGraf, StatWare, Statistica); моделирования (DSIM-16, GRAMOS);
экспертные системы (METHODS, MYCIN); издательские системы (AMS-TeX,
PageMaker) и другие.
А также:
Программное обеспечение для доступа к контенту. Используется для доступа к тем или иным программам или ресурсам без их редактирования (однако может и включать функцию редактирования). Предназначено для групп или индивидуальных пользователей цифрового контента. Это, например, медиа-плееры, веб-браузеры, вспомогательные браузеры и др.
Образовательное программное обеспечение – ПОдля тестирования знаний пользователя и отслеживанию прогресса в изучении того или иного материала. Многие образовательные программы включают функции совместного пользования и многостороннего сотрудничества.
Имитационное программное обеспечение. Используется для симуляции физических или абстрактных систем в целях научных исследований, обучения или развлечения.
Инструментальные программные средства в области медиа. Обеспечивают потребности пользователей, которые производят печатные или электронные медиа ресурсы для других потребителей, на коммерческой или образовательной основе. Это программы полиграфической обработки, верстки,
144 |
Глава 11. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ |
|
|
обработки мультимедиа, редакторы HTML, редакторы цифровой анимации, цифрового звука и т. п.
По своему разнообразию, количеству появления новых разработок на рынке, прикладное программное обеспечение далеко опережает всѐ другое ПО, что не удивительно, так как именно оно удовлетворяет потребителя в удовлетворении его потребностей в информатизации от программ, помогающих в профессиональной деятельности, до развлекающих и развивающих продуктов
11.1.4 Базы данных и СУБД
База данных− это совокупность данных, определенным образом организованная и хранящаяся в памяти ЭВМ.
Простейшим примером базы данных является приведенная ниже таблица:
Фамилия |
Имя |
Математика |
Физика |
Информатика |
Иванов |
Иван |
3 |
5 |
4 |
Петров |
Петр |
5 |
4 |
5 |
Сидоров |
Сидор |
4 |
5 |
3 |
Программные средства, позволяющие работать с базами данных, называются системами управления базами данных или СУБД. Без таких систем в настоящее время не может функционировать ни одно крупное предприятие. Основными задачами, решаемыми СУБД являются: поиск и сортировка данных, обновление и ввод данных, формирование и вывод отчетов, создание новых баз, реорганизация данных.
Ядром любой информационной системы, то есть внутренним носителем знаний о предметной области является база данных (БД). Встречается еще одно определение БД, как «совокупности данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимая от прикладных программ». В федеральном законе «О правовой охране программ для ЭВМ и баз данных» дается нормативная трактовка этого понятия, согласно которому «база данных
– это объективная форма представления и организации совокупности данных, систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ».
Другим понятием, связанным с базами данных, является система управления базами данных (СУБД), которая по ГОСТу определяется как «совокупность программ и языковых средств, предназначенных для управления данными в базе данных, ведения базы данных и обеспечения взаимодействия ее с прикладными программами». В настоящее время развитие СУБД как специального вида программного обеспечения приводит к расширенному
Информатика |
145 |
|
|
толкованию СУБД, как «комплекса программных средств, реализующих создание баз данных, их поддержание в актуальном состоянии, а также обеспечивающих различным категориям пользователей возможность получать из БД необходимую информацию».
В общем плане можно выделить следующие функции, реализуемые СУБД:
организация и поддержание логической структуры данных (схема базы данных);
организация и поддержание физической структуры данных во внешней памяти;
организация доступа к данным и их обработка в оперативной и внешней памяти.
Организация и поддержание логической структуры данных обеспечивается средствами модели организации данных (модели данных). Модель данных определяется способом организации данных, ограничениями целостности и множеством операций, допустимых над объектами организации данных. Соответственно, модель разделяют на три составляющие –
структурную, целостную и манипуляционную.
Известны три основные модели организации данных:
иерархическая (наборы данных представляют собой древовидную структуру, то есть допускаются только иерархические связи);
сетевая (наборы данных представляют собой сетевую структуру, то есть допускаются любые связи, в том числе иерархические и одноуровневые);
реляционная (наборы данных представляют собой таблицы).
Эти модели очень часто используются в качестве критерия для классификации СУБД. Исходя из этого, различают иерархические СУБД, сетевые СУБД и реляционные СУБД.
Функция СУБД по организации и поддержанию физической структуры данных включает организацию и поддержание внутренней структуры файлов БД, называемую форматом файлов базы данных, а также создание и поддержание специальных структур (индексы, страницы) для эффективного и упорядоченного доступа к данным. Данная функция тесно связана с третьей функцией СУБД – организацией доступа к данным.
Организация доступа к данным и их обработка в оперативной и внешней памяти осуществляется через реализацию процессов, получивших название транзакций. Транзакцией называют последовательную совокупность
операций, имеющую отдельное смысловое значение по отношению к текущему состоянию базы данных. Транзакции принято разделять на две разновидности – изменяющие состояние базы данных после завершения транзакции и изменяющие состояние БД временно, с восстановлением
146 |
Глава 11. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ |
|
|
исходного состояния данных после завершения транзакции. Совокупность функций СУБД по организации и управлению транзакциями называют монитором транзакций. Источником транзакций может быть как один пользователь, так и несколько сразу. По этому критерию СУБД классифицируют на однопользовательские (или «настольные») и многопользовательские («промышленные») СУБД. Примерами настольных СУБД являются MicrosoftAccess, Paradox и др. К промышленным СУБД относятся Oracle, DB2, Informix, SQL Server и т. д.
Непосредственная обработка и доступ к данным в большинстве СУБД осуществляется через организацию в оперативной памяти средствами операционной системы или собственными средствами системы буферов оперативной памяти, куда на время обработки и доступа помещаются отдельные компоненты файла БД. Поэтому другой составной частью функции СУБД по организации доступа и обработки данных является управление буферами оперативной памяти.
Еще одной важной функцией является так называемая журнализация всех текущих изменений БД, что представляет собой главное средство обеспечения сохранности данных при возможных сбоях и разрушениях данных.
Таким образом, можно выделить в структуре следующие функциональные блоки:
процессор описания и поддержания структуры БД; процессор запросов к БД; монитор транзакций; интерфейс ввода данных; интерфейс запросов; интерфейс выдачи сведений; генератор отчетов.
Ядром СУБД является процессор описания и поддержания структуры, который реализует модель организации данных, средствами которой проектировщик строит логическую структуру БД и обеспечивает построение и поддержание внутренней схемы базы данных. Процессором описания в терминах используемой модели данных обеспечиваются установки заданной логической структуры БД, а также перевод структуры данных во внутреннюю схему БД. В реляционных СУБД процессор описания реализуется на основе языка базы данных, являющегося составной частью языка структурированных запросов (SQL).
Интерфейс ввода данных СУБД реализует входной информационный язык, обеспечивая поставщикам информации средства описания и ввода данных в информационную систему. Это обычно решается через применение диалоговых методов организации интерфейса и использование входных
Информатика |
147 |
|
|
форм.Интерфейс ввода при этом обеспечивает средства создания, хранения входных форм и их интерпретацию в терминах описания логической структуры БД для передачи вводимых через формы сведений процессору описания.
Процессор запросов интерпретирует запросы в терминах языка манипулирования данными и совместно с процессором описания, собственно говоря, и исполняет запросы. В реляционных СУБД основу процессора запросов составляет язык манипулирования данными, являющийся основной частью языка SQL.
Функции |
монитора транзакций, как |
отмечалось выше, |
заключаются |
в организации |
совместного исполнения |
транзакций от |
нескольких |
пользователей над общими данными. |
|
|
|
Интерфейс выдачи СУБД получает от процессора запросов результаты обращений к БД и переводит эти результаты в форму, удобную для восприятия и выдачи пользователю. Обычно применяются табличные способы представления структурированных данных, а также специальные формы выдачи данных, аналогичные формам ввода.
Формы выдачи лежат также в основе формирования так называемых «отчетов», выдающих результаты поиска и отбора информации из БД в письменной форме для формализованного создания соответствующих документов. Для подобных целей в состав СУБД включаются генераторы отчетов.
Итак, к важным признакам, классифицирующим СУБД можно отнести:
среда функционирования, то есть платформа, на которой работает
СУБД;
тип поддерживаемой в СУБД модели данных; возможности встроенного языка СУБД, его переносимость в другие
приложения;
наличие развитых диалоговых средств конструирования и средств работы с БД;
возможность работы с нетрадиционными данными в сетях (страницы HTML, сообщения электронной почты и т.п.);
возможность работы с объектными и объектно-реляционными данными; уровень использования (настольная, промышленная); возможности интеграции данных из других СУБД;
степень поддержки языка SQL и возможности работы с сервером БД; наличие средств отчуждаемых приложений, позволяющих не проводить
полную установку СУБД для тиражируемых приложений пользователя.
148 |
Глава 11. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ |
|
|
11.2 Этапы разработки программ. Решение задач на ЭВМ
Решение задачи с помощью ЭВМ, подразумевает не только написание и выполнение программы, процесс решения проходит целый ряд стадий и этапов (Рис. 11.1)
Первый этап решения задачи это постановка задачи – выбор подхода к решению, определение того, каким целям решение должно служить и при каких условиях оно будет существовать.
Рисунок 11.1 Этапы разработки программ
Второй этап – построение математической модели, рассматриваемого объекта или явления, т.е. описание его закономерностей с помощью математических формул. Однако, лишь в редких случаях математическая модель может служить расчетной схемой. Поэтому, для решения задачи необходимо выбрать метод ее численного решения, сводящий решение к последовательности арифметических и логических операций.
На основе |
численного |
метода |
составляется |
алгоритм– т.е. |
||
последовательность |
решения |
задачи |
виде |
словесного |
описания, |
|
математических формул или блок-схем. |
|
|
|
|
||
Информатика |
149 |
|
|
Затем, основываясь на алгоритме, пишется программа на одном из языков программирования, которая записывается в оперативную память ЭВМ. Так как при программировании и вводе программы в ЭВМ могут быть допущены ошибки, их обнаружение и устранение выполняют на этапе отладки
и испытания программы.
Когда все ошибки программы устранены, наступает следующий этап –
решение задачи на ЭВМ.
Последним этапом решения задачи является анализ результатов.
На этом этапе, полученные результаты сравниваются с теми данными, которые хотелось бы получить.
Как видим: несмотря на огромную помощь ЭВМ в решении задач, роль человека остается главной. Следует также отметить, что при использовании соответствующих современных программных средств, значительно облегчающих решение технических задач (это и моделирующие пакеты, и всевозможные САПРы и пакеты для математических исследований, и широко применяемые рядовыми пользователями табличные процессоры), алгоритм действия программиста остается примерно тем же.
11.3 Понятие тестирования и отладки программ.Классификация ошибок, способы их выявления и устранения
Как разработчики программных продуктов, так и разработчики утилитарных программ (то есть мы с вами), при создании программы, после того как программа написана на языке программирования или выполнена в пакете прикладных программ ( Exel, MathCad,Matlabи пр.) и введена в ЭВМ,
приходят к |
наиболее трудоемкому этапу −отладке и |
тестированию |
программы. |
Цель тестирования − в выявлении ошибок, |
цель отладки – |
в выявлении причин и устранении ошибок. |
|
|
При отладке программы необходимо определить источники ошибок. Ими могут быть: недостаточно глубокая проработка математической модели и алгоритма решения задачи, нарушение соответствия между схемой алгоритма и записью его в виде программы, неверное представление исходных данных, невнимательность при наборе программы и исходных данных на клавиатуре.
Ошибки программ, учитывая их происхождение, делят насинтаксические и семантические.
Синтаксические − это ошибки в записи конструкций языка программирования (чисел, переменных, функций, выражений, операторов,
150 |
Глава 11. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ |
|
|
меток, подпрограмм) − эти ошибки аналогичны синтаксическим ошибкам любого человеческого языка.
Семантические (смысловые) ошибки - связаны с неправильным содержанием действий и использованием недопустимых значений величин.
Обнаружение синтаксических ошибок автоматизировано, в чем вы сможете убедиться, начав программировать на каком-либо алгоритмическом языке.
Оболочки языков программирования высокого уровня предоставляют программисту возможности диагностики ошибок. Запустив в работу программу, содержащую синтаксическую ошибку, вы получите на экране компьютера диагностику: сообщение, что в программе имеется ошибка, указанием типа ошибки как поняла это машина, и места, где обнаружена ошибка.
Семантические ошибки устранять более трудно. Если в программе ликвидированы все синтаксические ошибки, но присутствуют семантические, то результат такой программы может быть следующим:
1.Результат работы программы не совпадает с эталонным или не соответствует предусмотренной форме и содержанию.
2.Отсутствие печати результатов из-за бесконечного повторения одной и той же части программы.
3.Нарушение процесса автоматических вычислений.
Качество и быстрота выявления и устранения ошибок зависят от компетентности и опыта программиста, насколько он проник в суть задачи, насколько хорошо он представляет вычислительный процесс.
Существуют маленькие хитрости, которые помогают программисту в отладке программы или, указанные в специальной литературе источники семантических ошибок и пути их устранения. Например, синтаксическая ошибка может стать семантической (при случайной замене символов I вместо 1, или Q вместо 0 и т.п.).
Для скорейшего выявления семантических ошибок, на этом этапе тестирования, в программу следует включать операторы печати отладочных результатов.
11.4 Программный продукт. Особенности разработки и требования к качеству программного обеспечения
В настоящее время программирование или использование готовых программ перестало быть уделом избранных. Миллиарды людей земного шара
используют в |
своей деятельности электронную технику, снабженную |
|||
программными |
средствами, |
разработанными |
неизвестными |
им |
Информатика |
151 |
|
|
программистами, и большинство из этих людей ничего не знают о программировании и его тонкостях, они просто знают, что если подать устройству такую-то команду, то последует ожидаемый ими результат, то есть, мы привыкли доверять разработчикам программ. Мы также, не обращаемся всякий раз непосредственно к разработчику, если нам нужна какая-либо консультация по использованию программы, а обращаемся к сопроводительным документам. Сами программы мы покупаем в магазинах на магнитных носителях или через Интернет, а предприятия, нуждающиеся в каком-либо особом программном обеспечении, заказывает его у компьютерных фирм-разработчиков. Таким образом, в конце ХХ века сформировалось новое экономическое понятие −программный продукт. Этот продукт является результатом нового вида современного промышленного производства.
Все программы по характеру использования и категориям пользователей можно разделить на два класса – утилитарные программы и программные
продукты (изделия).
Утилитарные программы("программы для себя") предназначены для удовлетворения нужд их разработчиков. Чаще всего утилитарные программы выполняют роль сервиса в технологии обработки данных либо являются программами решения функциональных задач, не предназначенных для широкого распространения.
Программные продукты (изделия)предназначены для удовлетворения потребностей пользователей, широкого распространения и продажи. Программный продукт включает в себя программу, ее текст, представленный на внешнем запоминающем устройстве (дисках, лентах, флэш-память и т.п.) и сопровождающую ее документацию (документация может как прилагаться на бумажном носителе, так и на электронном носителе). Программный продукт регистрируется в фондах алгоритмов и программ, в функции которых входит размножение копий программ и документации к ним для пользователей и охрана интеллектуальной собственности.
Следует также учесть, что программным продуктом может быть и программа, не предназначенная для широкого использования. Программным продуктом может быть программа, разработанная для научных исследований, которая не только не будет тиражироваться, но может быть использована небольшое число раз.
Разработка программного обеспечения в настоящее время все больше приближается к промышленному производству со своими технологиями, стандартами, системами управления и другими признаками индустриальной отрасли. Это многоэтапный процесс проектирования и программирования, при этом каждый этап должен обеспечивать требования к качеству программного продукта.
152 |
Глава 11. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЭВМ |
|
|
На первомэтапе создания программного продукта специфицируются (или определяются) основные системные требования к проекту исходя из его целей, назначения и предметной области на которую они ориентируются – это
спецификация системных требований.
На втором этапе детализируют требования к программной части проекта – это спецификация требований к программному продукту.
Третий этап – программная реализация проекта или программирование.
Четвертый этап – это отладка и тестирование программ.Цель тестирования − в выявлении ошибок, цель отладки − в выявлении причин и устранении ошибок.
Пятый этап – это апробация или опытнаяэксплуатация
программного обеспечения. На этом этапе, разработанное программного обеспечение проверяется в условиях близких к реальным для того, чтобы по возможности оптимизировать основные характеристики созданной системы, повысить логический уровень интерфейса с пользователем, уточнить сопровождающую документацию и т. п.
Последний – шестой этап – это промышленная эксплуатация
программного обеспечения.
В настоящее время, в отличие от недавнего прошлого, повысилось требование к качеству сопровождающей программное обеспечение документации. Из-за ее плохого качества, многие отечественные разработки были вытеснены с рынка программных средств зарубежными, зачастую не лучшими аналогами.
Кроме того, массовое использование персональных компьютеров предполагает привлечение большого числа непрофессионалов, которые должны иметь точную и исчерпывающую информацию о приобретенном ими пакете прикладных программ или о компьютере. Такая документация должна содержать системные, по применению, обучающие и справочные руководства.
Системные руководства – разъясняют взаимодействие данного программного средства с операционной средой, включая его инсталляцию в конкретных условиях эксплуатации и его системные характеристики. Смысл остальных типов документации понятен из их названия.
Надежностьпрограммного продукта определяется устойчивостью его функционирования в реальных условиях эксплуатации (т.е. при возможности возникновения особых или аварийных ситуаций в системе, ошибках оператора, ошибках в данных).
