Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Окр ТРПП (Зачёт).doc
Скачиваний:
3
Добавлен:
22.08.2019
Размер:
125.44 Кб
Скачать

12.Архитектура пп.

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

К основным задачам относятся: 1. Выделение программных подсистем и отображения на них внешних функций. 2. Определение способов взаимодействия между выделенными программными подсистемами.

Основные классы архитектур ПП.

1.Цельная программа

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

2.Комплекс автономно выполняемых программ

А) Состоит из набора программ, причем любая из этих программ может быть активизирована пользователем.

Б) Все программы применяются к одной и той же инфо среде.

В) При выполнении активизированной программы другие программы заблокированы.

3.Сложная программная система.

4.Коллектив параллельно выполняемых программ.

13. Оптимизация программы.

Это улучшение, какой либо характеристики программы называемой критерием оптимизации.

ОП в основном выполняется по двум критериям:

- быстродействие;

- объем используемых данных;

Процесс оптимизации следует начать с профилировки программы. – измерение производительности, как всей программы так и её отдельных фрагментов с целью нахождения «горячих точек» - тех участков программы на выполнение которых расходуется наибольшее количество времени. В зависимости от степени детализации в качестве точки рассматривается либо отдельная машинная команда, либо целая конструкция (функция, цикл). Сложная программа состоит из большого числа функций, поэтому нет смысла их оптимизирования – трудоемкость такого подхода будет выше выгод полученных от оптимизации программы в целом. Для начала необходимо локализовать участки кода с максимальной вычислительной трудоемкости. Участки программы, которые в наибольшей в степени влияет на её производительность, в силу её частого выполнения, или своей ресурсоемкостью, называется критическим кодом. В его поиске используют профайлеры (профилировщики – это специальные программы которые измеряют временные затраты на выполнение участков кода программы). Большинство современных профилировщиков поддерживают следующий набор функций:

  • Определение общего времени исполнения каждой точки программы.

  • Определение причины или источника конфликтов.

  • Определение количества вызовов в той или иной точки программы.

Основные правила оптимизации:

1) Прежде чем приступить к оптимизации необходимо иметь надежно работающий неоптимизированный вариант;

2) Основной прирост оптимизации дает алгоритмическая оптимизация;

3) Обнаружив профайлировщиком узкие места необходимо произвести оптимизацию с помощью ЯВУ.

Требования к оптимизации алгоритма:

1) Оптимизация должна быть по возможности максимально машинно не зависимой и переносимой на другие ОС без существенных потерь эффективности;

2) Алгоритм должен занимать размер в пределах допустимого;

3) При внесении изменений в алгоритм не должна страдать вся программа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]