Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Нисходящая и восходящая разработка программного обеспечения




В литературе встречается ещё один подход – «расширение» ядра. Он предполагает, что в первую очередь проектируют и разрабатывают ядро ПО, например структуры данных и процедуры, связанные с ними. Затем ядро наращивают, комбинируя нисходящий и восходящий методы. На практике данный подход в зависимости от уровня ядра сводится к нисходящему и восходящему подходу.

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

¾ увеличение вероятности несогласованности компонентов вследствие неполноты спецификации;

¾ наличие издержек на проектирование и реализацию тестирующих программ;

¾ позднее проектирование интерфейса, следовательно невозможность продемонстрировать его заказчику.

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

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

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

¾ зависимость по данным (модули, формирующие некоторые данные, должны создаваться раньше обрабатывающих),

¾ обеспечение возможности выдачи результатов,

¾ готовность вспомогательных модулей,

¾ наличие необходимых ресурсов.

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

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

2)раннее определение интерфейса пользователя, демонстрация которого заказчику, позволяет уточнить требования к создаваемому ПО.

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



Структурное программирование.

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

Существует три вида вычислительного процесса:










Последнее изменение этой страницы: 2018-05-27; просмотров: 258.

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