Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы научных исследований в электроэнергетике. Учебное пособие
.pdf
граммного обеспечения на несколько взаимодействующих между собой
уровней.
Уровни программного обеспечения:
- базовый;
- системный;
- служебный;
- прикладной (пользовательский).
Каждый следующий уровень опирается на программное обеспечение
предшествующих уровней. Такое членение удобно для всех этапов работы
с компьютером, начиная с установки программ до практической эксплуатации и технического обслуживания. Каждый вышележащий уровень повышает функциональность всей системы.
Программное обеспечение прикладного уровня представляет собой
комплекс прикладных программ (приложений пользователя), с помощью
которых на данном компьютере выполняются конкретные задания. Спектр
этих заданий широкий: от производственных до творческих и развлекательно-обучающих. Поскольку между прикладным программным обеспечением и системным существует непосредственная взаимосвязь (первое
опирается на второе), то можно утверждать, что универсальность, доступность прикладного программного обеспечения и широта функциональных
возможностей компьютера напрямую зависят от типа используемой операционной системы, от того, какие системные средства содержит её ядро, как
она обеспечивает взаимодействие системы «человек – программа – оборудование».
2.8.3. Офисные и кампусные информационные сети
В научных учреждениях и учреждениях высшего образования компьютеры, как правило, объединяют в информационные сети.
Информационная сеть – группа компьютеров и других устройств, соединённых линиями связи для обмена информацией и совместного использования ресурсов (информационных, программных, аппаратных). Все устройства, объединённые в информационной сети, делятся на три группы:
- оконечные устройства, между которыми происходит обмен инфор-
мацией, они являются абонентами сети;
- сетевые устройства, обеспечивающие обмен информацией, осуществляющие преобразование сигналов и их направление в сегменты сетей и
к оконечным устройствам;
- проводные линии связи, обеспечивающие передачу сигналов между
устройствами.
Оконечными устройствами информационных сетей являются: компьютеры, сервер-принтеры, ПЛК, микроконтроллеры, устройства связи с
объектом (УСО).
61

Сетевые устройства обеспечивают взаимодействие оконечных устройств в персональных, локальных, кампусных информационных сетях, а
также подключение к городским информационным сетям, глобальной информационной сети Internet, телевизионным сетям. К сетевым устройствам
относятся: повторители, концентраторы, мосты, коммутаторы, маршрутизаторы, сетевые шлюзы, модемы.
Линии связи в информационных сетях могут быть проводными и
беспроводными.
В зависимости от расстояния между связываемыми узлами и способа
администрирования информационные сети бывают: персональные; локальные; кампусные; городские; глобальные.
Локальная информационная сеть – сеть, покрывающая обычно относительно небольшую территорию, такую как дом, офис, цех, небольшая
группа зданий. Локальные сети представлены тремя видами: офисные,
промышленные, бортовые.
Офисные или вычислительные сети объединяют компьютеры и периферийные устройства в офисах, учреждениях социальной сферы и образования, научно-исследовательских и проектных организациях, конструкторских бюро.
Кампусная информационная сеть объединяет локальные сети близко
расположенных зданий.
Интрасеть (Intranet) – внутренняя частная сеть организации, как правило, Intranet – это Internet в миниатюре, который построен на использовании протокола IP для обмена и совместного использования некоторой части информации внутри организации. Чаще всего под этим термином имеют
в виду только видимую часть Intranet – внутренний веб-сайт организации,
основанный на базовых протоколах HTTP (hypertext transfer protocol – протокол передачи гиперткста) и HTTPS (hypertext transfer protocol secure –
расширенный протокол передачи гипертекста) и организованный по принципу клиент-сервер, Intranet-сайт доступен с любого компьютера через
браузер. Таким образом, Intranet – частный Internet, ограниченный виртуальным пространством отдельно взятой организации. Intranet допускает
использование публичных каналов связи, входящих в Internet, но при этом
обеспечивается защита передаваемых данных и меры по пресечению проникновения извне на корпоративные узлы. Приложения в Intranet основаны
на применении Internet-технологий и в особенности Web-технологии.
Объединение различных сетей позволяет создавать многоуровневые
иерархии, которые предоставляют мощные средства для обработки огромных массивов данных и доступ к практически неограниченным информационным ресурсам. Самым большим объединением компьютерных сетей в
масштабах планеты Земля на сегодня является Internet.
62

По скорости передачи информации сети можно разделить на низкоскоростные (до 10 Мбит/с), среднескоростные (до 100 Мбит/с) и высокоскоростные (свыше 100 Мбит/с).
С позиции распределения ролей между компьютерами сети бывают:
- одноранговые (децентрализованные или пиринговые), в которых
все компьютеры равноправны, в них не выделяют серверы, каждый узел
является как клиентом, так и сервером;
- клиент-серверные, в таких сетях компьютеры по выполняемым
функциям поделены на клиентов и серверы, серверы – специально выделенные высокопроизводительные компьютеры, оснащенные соответствующим программным обеспечением, централизованно управляющие работой сети и предоставляющие клиентам свои ресурсы (базы данных, накопители, принтер и т.д.).
В одноранговых сетях каждый компьютер выделяет часть своих ресурсов в общее пользование всем компьютерам сети. Как правило, одноранговые сети создаются на базе одинаковых по мощности компьютеров,
они являются достаточно простыми в наладке и эксплуатации. Наличие
распределенных данных и возможность изменения своих серверных ресурсов каждым компьютером усложняет защиту информации от несанкционированного доступа, что является одним из недостатков одноранговых
сетей. Другим недостатком одноранговых сетей является их низкая производительность, это объясняется тем, что сетевые ресурсы сосредоточены
на компьютерах, которым приходится одновременно выполнять функции
клиентов и серверов.
В клиент-серверных сетях осуществляется четкое разделение функций между компьютерами: одни из них постоянно являются клиентами, а
другие – серверами. Учитывая многообразие услуг, предоставляемых информационными сетями, существует несколько типов серверов, а именно:
сетевой сервер, файловый сервер, сервер печати, почтовый сервер и другие.
Сетевой сервер представляет собой специализированный компьютер,
ориентированный на выполнение основного объема вычислительных работ
и функций по управлению сетью, этот сервер содержит ядро сетевой операционной системы, под управлением которой осуществляется работа всей
локальной сети. Сетевой сервер обладает достаточно высоким быстродействием и большим объемом памяти. При подобной сетевой организации
функции компьютеров-клиентов сводятся к вводу и выводу информации и
обмену ею с сетевым сервером.
Термин файловый сервер относится к компьютеру, основными
функциями которого являются: хранение, управление и передача файлов
данных. Он не обрабатывает и не изменяет сохраняемые и передаваемые
им файлы. Сервер может «не знать», является ли файл текстовым документом, графическим изображением или электронной таблицей. Все измене-
63

ния в файлах данных осуществляются с компьютеров-клиентов, для этого
последние считывают файлы данных с файлового сервера, осуществляют
необходимые изменения данных и возвращают их обратно на файловый
сервер. Подобная организация наиболее эффективна при работе большого
количества пользователей с общей базой данных. В рамках больших сетей
может одновременно использоваться несколько файловых серверов.
Сервер печати (принт-сервер) представляет собой печатающее устройство, которое с помощью сетевого адаптера подключается к передающей среде. Подобное сетевое печатающее устройство является самостоятельным и работает независимо от других сетевых устройств. Сервер печати обслуживает заявки на печать от всех серверов и клиентов. В качестве
серверов печати используются специальные высокопроизводительные
принтеры.
При высокой интенсивности обмена данными с глобальными сетями
в рамках локальных сетей выделяются почтовые серверы, с помощью которых обрабатываются сообщения электронной почты. Для эффективного
взаимодействия с сетью Internet могут использоваться wеb-серверы.
Сетевая архитектура – комбинация стандартов, топологий и
протоколов, необходимых для создания работоспособной сети.
Сетевая топология – компоновка компьютеров и других устройств в
информационной сети и кабельной инфраструктуры. Существует следующие топологии: шина, кольцо, активная звезда, звезда-шина, гибридные
(например, дерево).
Порядок взаимодействия компьютеров в информационной сети регулируется специальными наборами правил и процедур, которые называются
стеками протоколов. Самый распространенный на сегодня набор протоколов – стек TCP/IP. Основные преимущества стека TCP/IP перед другими:
более удобная система сетевой адресации, возможность фрагментации пакетов и очень небольшое количество широковещательных сообщений. В
результате стек TCP/IP практически вытеснил все остальные, он используется и в небольших локальных сетях, и в глобальной сети Internet. Стек
TCP/IP принято описывать в рамках четырех уровней: физический, межсетевой, транспортный, прикладной. На физическом уровне TCP/IP поддерживает работу с основными сетевыми технологиями: Ethernet; Token Ring;
FDDI (fiber distributed data interface – волоконно-оптический интерфейс передачи данных); Wi-Fi (wireless fidelit – беспроводное качество); WiMAX
(worldwide interoperability for microwave access – всемирная совместимость
для микроволнового доступа); Bluetooth; ZigBee и другими.
Сетевое программное обеспечение осуществляет управление и координирует доступ к сетевым ресурсам, обеспечивает упреждающий контроль, что даёт возможность избежать простоя сети и возникновения в ней
«узких мест», снизить совокупную стоимость владения сетью. Сетевое
64

программное обеспечение включает сетевую операционную систему и сетевое программное обеспечение управления.
2.8.4. Программные средства для выполнения вычислений
При теоретических исследованиях приходится производить много
вычислений. Для выполнения вычислений на компьютерах используются:
электронные таблицы, программы, реализующие различные математические методы.
Для организации данных в виде таблиц используют табличные процессоры, например, Microsoft Excel. Табличный процессор – комплекс
взаимосвязанных программ, предназначенных для создания и обработки
электронных таблиц.
Электронная таблица – компьютерная программа, позволяющая проводить вычисления с данными, представленными в виде двумерных массивов, имитирующих бумажные таблицы – компьютерный эквивалент обычной таблицы, состоящей из строк и граф, на пересечении которых располагаются клетки, в которых содержится числовая информация, формулы или
текст. Некоторые программы организуют данные в «листы», предлагая, таким образом, третье измерение.
Табличный процессор обеспечивает работу с большими таблицами
чисел. При работе с табличным процессором на экран выводится прямоугольная таблица, в клетках которой могут находиться числа, пояснительные тексты и формулы для расчета значений в клетке по имеющимся данным. С помощью электронных таблиц можно выполнять различные экономические, бухгалтерские и инженерные расчеты, а также строить разного рода диаграммы, графики.
Функции табличных процессоров:
- создание и редактирование электронных таблиц;
- создание многотабличных документов;
- оформление и печать электронных таблиц;
- построение диаграмм и графиков;
- создание многотабличных документов, объединенных формулами;
- работа с электронными таблицами как с базами данных: сортировка
таблиц;
- выборка данных по запросам;
- создание итоговых и сводных таблиц;
- использование при построении таблиц информации из внешних баз
данных;
- создание слайд-шоу;
- решение оптимизационных задач;
- решение экономических задач путем подбора параметров;
- разработка макрокоманд, настройка среды под потребности пользо-
вателя.
65

Microsoft Excel – программа для работы с электронными таблицами,
созданная корпорацией Microsoft для операционных систем Microsoft
Windows, Windows NT и Mac OS. Она предоставляет возможности экономико-статистических расчетов, графические инструменты.
Microsoft Excel, наряду с другими продуктами Microsoft Office, использует множество форматов файлов.
API (application programming interface – интерфейс программирования приложений) позволяет открывать таблицы Excel в ряде других приложений: на веб-страницах с помощью ActiveX или таких плагинов, как
Adobe Flash Player. Проект Apache POI (point of interest – точка интереса)
представляет Java-библиотеки для чтения и записи электронных таблиц
Excel. Также предпринимались попытки копировать таблицы Excel в вебприложения с использованием разделённых запятыми значений (CSV –
comma-separated values).
В Excel есть возможность писать код на VBA (Visual Basic for applications) для приложений. Этот код пишется с использованием отдельного
от таблиц редактора. Управление электронной таблицей осуществляется
посредством объектно-ориентированной модели кода и данных. С помощью этого кода данные входных таблиц будут мгновенно обрабатываться,
и отображаться в таблицах и диаграммах (графиках). Таблица становится
интерфейсом кода, позволяя легко изменять его и управлять расчётами.
Mathcad – программное средство, среда для выполнения на компьютере разнообразных расчетов, снабженная простым в освоении и в работе
графическим интерфейсом, которая предоставляет пользователю инструменты для работы с формулами, числами, графиками и текстами. В среде
Mathcad доступны более сотни операторов и логических функций, предназначенных для численного и символьного решения математических задач
различной сложности. Подробно о Mathcad можно узнать по адресу:
http://www.exponenta.ru/soft/Mathcad/ Mathcad.asp.
MatLab – пакет прикладных программ для решения задач технических вычислений и одноимённый язык программирования, используемый в
этом пакете. MatLab работает на большинстве современных операционных
систем, включая Linux, Mac OS, Microsoft Windows. Руководство по MatLab для начинающих можно посмотреть по ссылке:
http://www.chemometrics.ru/materials /textbooks/matlab.htm.
Maple – программный пакет, система компьютерной алгебры. Является продуктом компании Waterloo Maple Inc, которая с 1984 года выпускает программные продукты, ориентированные на сложные математические вычисления, визуализацию данных и моделирование. Система Maple
предназначена для символьных вычислений, хотя имеет ряд средств и для
численного решения дифференциальных уравнений и нахождения
интегралов, обладает развитыми графическими средствами, имеет собственный язык программирования, напоминающий Паскаль. Подробно о
66

Maple можно узнать на образовательном математическом сайте
«Exponenta.ru. Раздел «Maple».
2.8.5. Инструментальное программное обеспечение
Язык программирования – формальная знаковая система, предназначенная для записи программ. Язык программирования способствует обмену информацией между программистами и компьютером, определяет набор лексических, синтаксических и семантических правил, задающих
внешний вид программы и действия, которые выполнит компьютер под её
управлением. Языки программирования делятся на два вида:
- языки программирования низкого уровня (например, язык Ассемб-
лера);
- языки программирования высокого уровня (BASIC; Visual Basic;
VBA; C; C++; Delphi; OpenGL; VRML; Паскаль; Фортран; Java; Лисп и
другие).
К языкам программирования высокого уровня относятся скриптовые
языки (для написания скриптов или сценариев – кратких описаний действий) и предметно-ориентированные языки (предназначенные для конкретной области применения).
Система программирования представляет собой набор средств, позволяющих программу, подготовленную на языке программирования, преобразовать в загрузочный модуль, готовый для выполнения программы.
Система программирования включает:
- языковой процессор;
- инструментальную среду разработчика;
- отладчик;
- средства оптимизации программ;
- набор библиотек;
- редактор связей;
- утилиты для работы с библиотеками;
- справочные системы;
- документацию исходного кода программы;
- систему поддержки и управления проектом программного комплек-
са.
Язык программирования позволяет создать текстовой вариант программы (исходную программу), описывающий алгоритм, но для исполнения исходной программы компьютером её необходимо преобразовать в
машинные коды. Это преобразование выполняется специальной программой – языковым процессором. Языковые процессоры: ассемблер; компилятор; интерпретатор.
Инструментальная среда разработчика представляет собой специальные средства: библиотеки функций, процедур, объектов и методов обработки; макрокоманды; клавишные макросы; языковые макросы, программ-
67

ные модули-вставки, конструкторы экранных форм и отчётов, языки запросов и другое.
Современные интегрированные системы программирования обеспечивают создание программ в автоматизированном режиме. После введения
исходного текста его компиляция и сборка не требуют ручной настройки
множества параметров запуска компилятора и редактора связей, указания
им нужных файлов и т.п.
В последние несколько лет в программировании (особенно для операционной системы Windows) наметился так называемый визуальный подход. Все необходимые элементы оформления и управления создаются и
обслуживаются не путём ручного программирования, а с помощью готовых визуальных компонентов, свойства и поведение которых настраиваются визуально, а сами они с помощью мыши перетаскиваются в проектируемое окно. При этом текст программы, создающей и управляющей работой этих компонентов, автоматически генерируется так называемой RADсредой – средой быстрого проектирования (rapid application development).
Подобный подход называется визуальным программированием. В мире
распространяются тысячи бесплатных и платных элементов, из которых
формируются библиотеки (объектные репозитории) для наиболее известных RAD-сред. Из библиотечных элементов можно собирать готовое приложение с широкими возможностями, написав несколько десятков строк
исходного кода.
Средства для создания информационных систем, или CASEтехнология – программный комплекс, обеспечивающий автоматизацию
всех этапов процесса разработки и сопровождения сложных программных
систем. CASE – computer aided system engineering (автоматизированная
разработка программного обеспечения). Некоторые CASE-технологии
ориентированы только на разработку системных программ, а другие – прикладных программ. Основные достоинства CASE-технологии – поддержка
коллективной работы над проектом благодаря использованию в локальной
сети, экспорта и импорта любых фрагментов проекта, организованного
управления проектом.
2.8.6. Программирование
Для исследования математических моделей объектов исследования,
выполнения расчётов можно использовать прикладные программы
(Microsoft Excel, Mathcad, MatLab, Maple), или программы собственной
разработки, ориентированные на конкретные математические модели, методики, алгоритмы.
Процесс разработки компьютерных программ называется программированием.
Для написания программы необходимо:
68

- разработать алгоритм, реализующий математическую модель или
методику расчёта;
- определить формы ввода исходных данных и вывода результатов;
- выбрать язык программирования и систему программирования.
Существуют следующие способы программирования.
1. Алгоритмическое программирование. Программа разбивается на
последовательность модулей, каждый из которых выполняет одно или несколько действий, при этом работа модуля должна всегда начинаться с выполнения первой команды, а заканчиваться на самой последней, то есть
нельзя попасть на внутренние команды модуля извне или передать управление из внутренних команд модуля на внешние команды (в обход последней). На выбранном языке программирования алгоритм записывается с
помощью команд описания данных, вычисления значений и управления
последовательностью выполнения программы.
2. Нисходящее программирование предусматривает использование
процедурного языка (языки программирования с использованием подпрограмм относят к классу процедурных языков), что позволяет при разработке приложения выделить подпрограммы для основных этапов (инициализация данных, решение самой задачи и завершение), потом каждый из этих
модулей детализировать на более низком уровне, разбивая их на небольшое число других подпрограмм и т.д.
3. Событийно-ориентированное программирование основано на использовании: пользовательских событий, инициируемых действиями пользователя; системных событий, возникающих в операционной системе (например, вызванных сообщениями от таймера); программных событий, генерируемых самой программой (например, обнаруженная ошибка, требующая обработки). С помощью событийного программирования создаётся программа со следующей структурой: главная часть программы представляет собой один бесконечный цикл, следящий за появлением нового
сообщения из заданного списка путём опроса (например, операционной
системой Windows); при обнаружении сообщения вызывается подпрограмма, сообщение обрабатывается и цикл опроса продолжается до получения сообщения «Завершить работу». Событийное программирование является развитием нисходящего программирования, поскольку позволяет не
только упорядочить структуру программы, но и определить и детализировать реакцию программы на различные события. С распространением операционной системы Windows и появлением визуальных RAD-сред оно получило широкое распространение.
4. Структурное программирование базируется на подпрограммах –
частях программы в виде совокупности операторов, выполняющих нужное
действие и не зависящих от других частей исходного кода. При этом
структура программы отражает структуру решаемой задачи. Алгоритм её
решения виден из исходного текста, который состоит из последовательно-
69

сти законченных блоков кода, имеющих определённую смысловую нагрузку. Подпрограммы можно рассматривать как новые операторы или
операции языка, определяемые программистом. К ним можно обращаться
по названиям и вызывать их в любой последовательности.
Сложные программы на языке высокого уровня, включающие описания типов данных, переменных и констант, требуют структуризации. Их
важнейшими компонентами являются процедуры и функции (или подпрограммы), которые обеспечивают структуризацию программ на уровне исходных текстов. При этом отдельные части алгоритмов оформляются в виде процедур с последующим их вызовом. Все необходимые связи между
формальными и фактическими параметрами процедур устанавливаются
транслятором используемого языка программирования. Один из приёмов
деления исходного текста программы на отдельные части состоит в том,
что в текст главной программы вводятся специальные выражения, указывающие компилятору на необходимость включения в неё текста других
модулей. Другой подход к построению больших программ состоит в составлении отдельных модулей, которые транслируются совершенно независимо друг от друга и связываться на стадии окончательного формирования исполняемой программы в машинных кодах.
В результате компиляции отдельных текстовых модулей создаются
так называемые объектные модули. Каждый объектный модуль заносится
в особый файл с расширением obj. Совокупности отдельных объектных
модулей преобразуется в загрузочный файл типа exe или com. Это преобразование называется связыванием объектных модулей и реализуется редактором связей, или компоновщиком, представляющим собой системную
программу Link. При обращении к Link указываются все объектные модули, которые должны быть объединены в общую программу, а также имя
файла с результирующей программой, имя файла с листингом (необязательный параметр) и имя файла с библиотекой процедур.
Один из способов формирования независимых частей программы состоит в создании библиотек объектных модулей с помощью программы
Lib, которая позволяет также пополнить старую библиотеку процедурами,
извлекаемыми из оттранслированных заранее объектных модулей или из
другой библиотеки. Каждая система программирования обычно имеет собственную библиотеку стандартных процедур (функций). На стадии сборки
объектные модули включают в формируемую программу. Файлы с библиотеками указываются при обращении к компоновщику программ Link.
Весь процесс трансляции складывается, в общем случае, из четырех
стадий:
- формирование текстовых модулей (с использованием текстовой
подстановки);
- синтаксический анализ и выдача ошибок, найденных транслятором
в тексте программы;
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
