Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основные методы программирования .doc
Скачиваний:
5
Добавлен:
22.11.2019
Размер:
287.74 Кб
Скачать

Тема 4. Основные методы программирования

  • Архитектура ПО

  • Принцип декомпозиции ПО.

  • Алгоритмическое (или линейное) программирование

  • Методика нисходящего (структурного) программирования

  • Процедуры и функции

  • Тенденции в истории развития языков программирования.

  • Объектно-ориентированное программирование

 

 

 

 

 

 

 

 

 

Архитектура по

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

  • автономное ПО;

  • ПО файл-серверной архитектуры;

  • ПО клиент-серверной архитектуры;

  • ПО многозвенной архитектуры;

  • ПО распределенной архитектуры.

Автономные программы функционируют, как правило, на одном, отдельном компьютере (рис. 2.1).

Рис. 2.1. Автономная персональная обработка данных

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

Рис. 2.2. Коллективная обработка данных с использованием сетевых версий ПО и файлового сервера

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

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

Рис. 2.3. Обработка данных в архитектуре "клиент/сервер"

Благодаря этому удается повысить общую надежность системы, так как сервер работает значительно более устойчиво, чем клиентские ПК, и снять лишнюю нагрузку с клиентских мест, на которых удается использовать дешевые компьютеры. Запускаемые на них приложения реально осуществляют небольшие объемы вычислений, а иногда занимаются только отображением получаемой от сервера информации, поэтому они называются тонкими клиентами. Частный (вырожденный) случай этого варианта – терминальный режим обработки данных с помощью одной общей ЭВМ (рис. 2.4).

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

Рис. 2.4. Модель обработка данных «хост-компьютер + терминалы»

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

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

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

Частный случай компонентного подхода — доступ к серверным приложениям из броузеров через Интернет.

Сегодня наиболее популярны три компонентные технологии — СОRВА консорциума OMGJava Beans компании Sun и СОМ+ корпорации Microsoft. Эти технологии будут определять развитие информационной индустрии в ближайшие десятилетия.