русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Методы проектирования, создания и оформления программных средств.

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

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

нисходящие TOPDOWN – метод или проектирование сверху вниз, иерархическое проектирование

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

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

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

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

по завершении работы модуль должен передавать управление тому модулю, который его вызывал

модуль должен иметь 1 вход и 1 выход, небольшой размер.

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

 
 

Рис. Структурная форма организации сложных программных комплексов.

А – управляющие модули

1 – резидентный головной модуль

– транзитный модуль

В – модули, реализующие основное назначение пакета

2 – функциональные модули

С – вспомогательные – обслуживающие модули

3 – транслятор с входного языка

4 – модуль сбора и обработки статистики

5 – модуль обработки ошибочных ситуаций

6 – модуль экспорта, импорта информации

7 – модуль обучения и подсказки

Модульный принцип разработки программ обладает следующими преимуществами:

Большую программу могут разрабатывать вместе несколько исполнителей, что позволяет сокращать сроки разработки.

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

Упрощается процедура загрузки больших программ в оперативную память, когда требуется её сегментации.

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

Обеспечивается более эффективное тестирование программ. Проще осуществляется тестирование, проектирование и последовательная отладка программ.

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

Недостатки могут привести к увеличению времени компиляции при загрузке программ, к увеличению требуемой памяти и времени исполнения программ.

Актуальное для начального периода развития ЭВМ проблема разработки программ, которые занимают минимум памяти и выполняются за кратчайшее время с резким падением стоимости ЭВМ, возрастанием их быстродействия и объёмов памяти сменилось необходимостью разработки и применения новых индустриальных методов разработки программ.

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

Линейную;

Циклическую;

Ветвлящуюся.

Исключение оператора безусловного перехода даёт возможность читать программы сверху вниз без перерывов, возникающих из-за передачи управления. Благодаря этому легко можно определять условия, необходимые для модификации того или иного блока программы.

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

Просмотров: 1192


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.