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

Основы научных исследований в электроэнергетике. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
граммного обеспечения на несколько взаимодействующих между собой уровней.
Уровни программного обеспечения:
- базовый;
- системный;
- служебный;
- прикладной (пользовательский).
Каждый следующий уровень опирается на программное обеспечение предшествующих уровней. Такое членение удобно для всех этапов работы с компьютером, начиная с установки программ до практической эксплуата­ции и технического обслуживания. Каждый вышележащий уровень повы­шает функциональность всей системы.
Программное обеспечение прикладного уровня представляет собой комплекс прикладных программ (приложений пользователя), с помощью которых на данном компьютере выполняются конкретные задания. Спектр этих заданий широкий: от производственных до творческих и развлека­тельно-обучающих. Поскольку между прикладным программным обеспе­чением и системным существует непосредственная взаимосвязь (первое опирается на второе), то можно утверждать, что универсальность, доступ­ность прикладного программного обеспечения и широта функциональных возможностей компьютера напрямую зависят от типа используемой опера­ционной системы, от того, какие системные средства содержит её ядро, как она обеспечивает взаимодействие системы «человек – программа – обору­дование».
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 appli­cations) для приложений. Этот код пишется с использованием отдельного от таблиц редактора. Управление электронной таблицей осуществляется посредством объектно-ориентированной модели кода и данных. С помо­щью этого кода данные входных таблиц будут мгновенно обрабатываться, и отображаться в таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко изменять его и управлять расчётами.
Mathcad – программное средство, среда для выполнения на компью­тере разнообразных расчетов, снабженная простым в освоении и в работе графическим интерфейсом, которая предоставляет пользователю инстру­менты для работы с формулами, числами, графиками и текстами. В среде Mathcad доступны более сотни операторов и логических функций, предна­значенных для численного и символьного решения математических задач различной сложности. Подробно о Mathcad можно узнать по адресу: http://www.exponenta.ru/soft/Mathcad/ Mathcad.asp.
MatLab – пакет прикладных программ для решения задач техниче­ских вычислений и одноимённый язык программирования, используемый в этом пакете. MatLab работает на большинстве современных операционных систем, включая Linux, Mac OS, Microsoft Windows. Руководство по Mat­Lab для начинающих можно посмотреть по ссылке: 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]