рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Модульное программирование

Модульное программирование - раздел Изобретательство, Конспект лекций по дисциплине Технология разработки программного обеспечения Модульное Программирование Получило Широкое Распространение. По...

Модульное программирование получило широкое распространение. Под модули-зацией понимается разделение программы на части по некоторым установленным правилам. Этими частями могут быть программные секции (в КОБОЛЕ), внутренние процедуры (в ПЛ/1 и ПАСКАЛЕ) или внешние процедуры (в ФОРТРАНЕ, КОБОЛЕ и ПЛ/1). В процедурных (алгоритмических) системах программирования есть специальная библиотека программ (модулей) и средства работы с этой библиотекой. По мере усложнения функций, возлагаемых на ЭВМ, росла и сложность программ. Первоначально библиотека программ использовалась для уменьшения дублирования в работе программиста. Затем при создании сложных ПС возможности процедурных систем программирования (имеется в виду возможность организации библиотеки модулей) стали использоваться для обеспечения создания сложных программ одним или коллективом программистов. Это объяснялось тем, что сложность прикладных программ возросла на столько, что трудно было писать её как единое целое или разрабатывать одним программистом. Программы стали слишком велики, чтобы их можно было представить во всех подробностях как единое целое и поместить в памяти ЭВМ целиком. Поэтому сложность программ долгое время вызывала трудности при проектировании ПС.

Для размещения больших программ в памяти машины стали применяться структуры с перекрытиями (оверлейные структуры). Это потребовало разбиение программ на модули. Пошли по пути дальнейшего развития и совершенствования процедурного программирования и библиотек программ. С появлением ЭВМ со страничной (виртуальной) памятью управление оверлейными структурами осуществляется автоматически, но эффективность распределения программы по страницам зависит от выбираемого программистом способа разделения ее на модули.

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

Основная черта модульного программирования – это стандартизация и паспортизация интерфейса между отдельными программными единицами. Модуль – это отдельно функционально законченная программная единица, которая структурно идентифицируется (или оформляется) стандартным образом по отношению к компилятору и по отношению к объединению её с другими аналогичными единицами в загрузке. В общем случае любая программа имеет внешние и внутренние потоки данных, области хранения данных. Поэтому, как правило, модуль содержит паспорт, в котором указаны все основные его характеристики: язык программирования, объем, входные и выходные переменные, их формат, точки входа в модуль, параметры настройки и т.д. Объем модуля, обычно не превышает 1000 команд ЭВМ или операторов языка программирования. Наиболее оптимальный по размеру модуль, как правило, уменьшается на одном месте распечатки на АЦПУ. В этом случае, модульная система, будет наиболее технологичной.

Модульное программирование –это искусство разбиения задачи на некоторое число различных модулей, умение широко использовать стандартные модули, путем их параметрической настройки, автоматизации сборки готовых модулей из библиотек, банков модулей и т.д. Очень хорошо, в модульном программировании, используется техника макрогенерации.

Модульное программирование, обладает следующими преимуществами:

1) простота составления и отладки модульной программы, т.к. функциональные компоненты программы могут быть написаны и отлажены порознь;

2) модульная программа, легче сопровождается и модифицируется, т.к. функциональные компоненты могут быть изменены, переписаны или заменены, без изменения, в остальных компонентах;

3) облегчение процесса управления, разработкой модульной программы, т.к. более сложные модули, могут разрабатываться более опытными программистами, проще осуществляется контроль и отчетность программистов.

Но, модульное программирование, имеет и недостатки:

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

2) возрастают затраты времени центрального процессора на выполнение программы и занимается несколько больший объем памяти под программу (на ~5 –10%), т.к. необходимо при входе и выходе из подпрограммы, выполнять команды, обеспечивающие их совместимость с программой более высокого уровня;

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

Существует несколько методов построения модульных программ:

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

Второй метод заключается в использовании, так называемых таблиц решений, которые позволяют формально записывать логические алгоритмы и реализовать их инвариантными программами [5,7,15]. Этот метод, обладает важными достоинствами:

1) способствует лучшему анализу и пониманию задачи, т.к. дисциплинирует мысли разработчика алгоритма;

2) организует удобный способ общения между разработчиками алгоритмов и программистами, исключающий многие неоднозначности, свойственные словестным описаниям программируемой задачи;

3) уменьшает, а в некоторых случаях и полностью исключает программирование алгоритмов;

4) обеспечивает удобный контроль ошибок, уменьшает неполноту, противоречивость и избыточность алгоритмов;

5) создает возможность определять модульность ПС и организовать базу знаний разработчику алгоритмов(технологу).

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

В дополнение, к рассмотренным методам, модульного программирования можно дать рекомендации, способствующие выделению модулей. Необходимо стремиться к заданию параметров в символьной форме, что обеспечивает простое изменение параметра в программе. Если параметры используются несколькими модулями, то имеет смысл централизованное задание значений параметров, что повышает использование модулей в различных конфигурациях и удобное изменение значений параметров. Рекомендуется параметры и действия таблиц решений задавать в отдельных модулях алгоритма: модуль входных параметров и модуль действий, что делает независимыми правила выбора действий от расположения в памяти параметров и от выполняемых действий [15]. Не рекомендуется, чтобы модули использовали общую рабочую память, что приводит к увеличению зависимости модулей.

– Конец работы –

Эта тема принадлежит разделу:

Конспект лекций по дисциплине Технология разработки программного обеспечения

САНКТ ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ ИНСТИТУТ...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Модульное программирование

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

В2. Роль программных систем САПР ТПП в современном производстве
Перед производством стоят две постоянные проблемы: · уменьшение затрат времени на цикл: идея построения новой машины или прибора -> выпуск новой машины или прибора; ·

В3. Развитие САПР ТПП
Работы по автоматизации технологического проектирования в СССР начались в пятидесятые годы под руководством А. М. Гильмана. Первая крупная работа по решению технологических задач с помощью ЭВМ вышл

Структура и состав программного обеспечения (ПО) САПР ТПП
(см. введение УП «программное обеспечение САПР ТПП») Программное обеспечение (ПО) автоматизированных систем, решающих задачи управления, конструирования и технологического проектирования,

Назначение основных компонент ПО
САПР ТПП делится на две части: общую и специальную. К общему ПО относятся операционная система, комплексы программ технического обслуживания, пакет прикладных программ, расширяющих возможн

Основные принципы проектирования ПО САПР ТПП
Основные принципы проектирования систем программного обеспечения – это открытость, независимость, избыточность. Системы программного обеспечения ЭВМ открыты, что позволяет пополнять и корр

Структура математического обеспечения АСТПП
МО АСТПП состоит из следующих составляющих: методов решения задач, методик и алгоритмов, программного обеспечения (ПО) (рис. 5). Состав методик и алгоритмов АСТПП определяется составом задач, решае

Методы разработки ПО САПР
Формально процесс проектирования алгоритма и программы можно представить в виде следующей схемы: 1) построение гипотезы о характере существующих связей между элементами объектов производст

Характер решаемых задач и квалификация пользователей САПР ТПП
Организация специального ПО в виде прикладных пакетов является мощным средством автоматизации программирования и алгоритмирования. Прикладные пакеты ПО ускоряют внедрение вычислительной техники в р

A) Структуры пакетов прикладных программ
Простая структура предполагает, что обработкой данных: руководит управляющая программа ОС по заданию, состаренному потребителей на языке управления заданиями. В этом случае реа­лиз

Лингвистическое обеспечение АСТПП
Лингвистическое обеспечение-это совокупность естественных и формальных языков, используемых при проектировании и эксплуатации АСТПП, а также методики по способам редактирования данных, создания и о

Анализ эффективности функционирования программных систем
Система считается функционирующей плохо, если ее производительность не соответствует возможностям ЭВМ. Скорость функционирования системы, часто уменьшается постепенно: по мере подключения новых зад

Основные характеристики качества программного обеспечения.
Программные системы (ПС) – это сложные системы, поэтому к ним следует применять общие методы исследования и проектирования сложных систем. Поэтому, ПС характеризуется, прежде всего конкретными функ

Показатели качества этапа эксплуатации программных систем
В процессе эксплуатации ПС важнейшим конструктивным показателем является функциональная сложность (рис.13). В табл.3 сложность ПС при эксплуатации характеризуют п.п. 4-8. Сложность функционирования

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

Стадия исследования и обоснования создания САПР
Целью выполнения работ на этой стадии является обоснование потребности и технико-экономической целесообразности создания системы, предварительная оценка возможности создания САПР на предприятии, фо

Стадия эскизного проекта
Целью выполнения работ на этой стадии является принятие предварительных решений по составу, структуре и функционированию САПР в соответствии с требованиями установленными ТЗ на создание системы.

Стадия технического проекта
Целью выполнения работ на стадии «Технический проект» является принятие окончательных решений, дающих полное представление о создаваемой системе. Выделяют следующие этапы: • разра

Стадия рабочего проекта
Целью проведения работ на этой стадии является разработка документации, достаточной для изготовления компонентов и комплексов средств САПР, ввод в действие и функционирование системы.

Стадия изготовления несерийных компонент
Целью проведения работ на этой стадии является создание работоспособного комплекса средств автоматизации проектирования (КСАП). Выделяют следующие этапы: • изготовление компоненто

Стадия введения в действие комплекса средств автоматизации проектирования
Целью проведения работ на этой стадии является обеспечение возможности промышленного функционирования САПР и определение фактических технико-экономических показателей системы, соответствия САПР ТЗ

Система группирования деталей.
В настоящее время группирование деталей осуществляется по двум основным методикам: на основе построения классификационных рядов и на основе анализа деталей в n-мерном признаковом п

Понятие технологии программирования
Технология программирования – это новое быстроразвивающееся направление в программировании. Интерес к инженерным вопросам программирования и процессу создания программного продукта, к

Программирование сверху-вниз
Программирование сверху –вниз –это некоторая многоуровневая дисциплина написания программ. На верхнем уровне, исходный алгоритм представляется в виде иерархической системы, элементы которой описыва

Структурное программирование
Понятие структурного программирования представляет собой некоторые принципы написания программ в соответствии с набором жестких правил и имеет целью облегчение процессов тестирования, повышения про

Б-стилизованные рекурсивные диаграммы
Всякая программа, может быть представлена, как суперпозиция допустимых структур. Программа, построенная путем применения таких структур, является модульной. Идея “вложенных структур”, при прео

Система МТ (метатранслятор)
Назначение: Система МТ (метатранслятор) предназначена для автоматизации разработки трансляторов: • с проблемно-ориентированных языков; • с непроцедурных яз

I. Обеспечение диалогового режима работы.
Система описания сценариев диалога МОД предназначена для описания диалогового взаимодействия пользователя с ЭВМ. Она включает средства: 1) манипуляция диалоговыми данными; 2) сред

II. Обращение к вычислительной системе в графической форме
Задать действия ВС можно так, как это показано на рис. 12. Класс изображений определяется синтаксическим описанием. Семантика задает действия ВС, соответствующие этому классу изображений.

III. Описание внешних схем баз данных
При использовании систем баз данных трехуровневой архитектуры представление данных на концевом уровне является одним и тем же для целого круга задач. Над концептуальной схемой надстраивается нескол

IV. Входной язык пакета прикладных программ
Пакет прикладных программ КОМБИК предназначен для решения осесимметричной и трехмерной задачи теории упругости по методу конечных элементов. Для задания входной информации о рассчитываемой конструк

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги