Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Постановка задачи. Прикладное программное обеспечение информационных систем характеризуется качественными и количественными показателями
Прикладное программное обеспечение информационных систем характеризуется качественными и количественными показателями, такими как эффективность, сложность, мобильность, наглядность (ясность, удобочитаемость), документированность и т.д. Эффективность программы является количественной характеристикой, и она оценивается как правило двумя критериями: - процессорным временем выполнения; - объемом используемой памяти. Эти два критерия, в общем случае, противоречат друг другу, так как сокращения одного, как правило, можно добиться за счет увеличения другого. Поэтому выбор критерия оптимизации зависит от характера решаемых задач и области применения прикладного программного обеспечения. В системах реального времени, в частности, в качестве основного критерия оптимизации выступает время выполне- ния программы. Задача оптимизации прикладного программного обеспечения по времени выполнения формулируется следующим образом. Необходимо преобразовать правильно работающую программу так, чтобы она выполнялась как можно быстрее (без учета операций ввода-вывода) и осуществляла те же функции, что и до преобразования. В современных системах программирования используются подсистемы оптимизации программ, включающие в себя набор оптимизационных процедур и оптимизирующих трансляторов. Каждая из этих процедур производит равносильные преобразования программ и частично их оп- тимизирует. Набор оптимизационных процедур существенно зависит от следующего: - класса решаемых задач, для которых предназначена разрабатываемая программа; - языка программирования; - операционной системы; - особенностей используемой ЭВМ и т.д. Требования, предъявляемые к оптимизационным процедурам, следующие. Оптимизационные процедуры должны: - сохранять функции, которые выполняет программа, т.е. производить равносильные преобразования; - не ухудшать качество ни одной программы, входящей в область применения процедуры; - улучшать качество хотя бы некоторых программ, входящих в область применения процедуры. Выполнение оптимизационных преобразований изменяет исходный текст программы, что, как правило, ухудшает ее некоторые качественные характеристики и в первую очередь ясность. Поэтому необходимо проводить оптимизацию только для полностью отлаженной программы, готовой к выполнению. Оптимизационные процедуры можно разделить на следующие основные виды: - оптимизация циклов; - оптимизация вычислительных операций; - оптимизация инструкций передачи управления; - оптимизация операций ввода-вывода; - эффективное использование памяти. Работая руководителем группы разработке программных средств, мне часто приходилось просматривать исходные коды программ наших молодых (да и не только молодых) разработчиков. И хоть ребята они во многом были знающие и умеющие решать поставленные перед ними задачи, от недостатка опыта (а иной раз просто от нежелания) они применяли неэффективные конструкции программирования. На некоторых таких конструкциях хотелось бы остановиться и показать, как можно повысить эффективность и быстродействие программы, уменьшить размер используемой памяти, улучшить читаемость кода и повысить удобство работы с исходными текстами программ.
|