Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vysokourovnevye_metody_informatiki_i_programmir...doc
Скачиваний:
11
Добавлен:
16.11.2019
Размер:
202.75 Кб
Скачать

Проблема разработки сложных программных систем:

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

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

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

    3. Коллективная разработка – из-за больших объемов проектов разработку ведут коллективы специалистов. Чем больше коллектив, тем сложнее организовать процесс взаимодействия. Существенно повышается вероятность возникновения ошибки, при снижении качества контроля и управления;

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

Блочно-иерархический подход к созданию сложных систем.

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

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

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

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

Основные принципы данного подхода:

1. непротиворечивость. Контроль согласованности элементов между собой.

2. полнота – контроль на присутствие лишних элементов.

3. повторяемость – необходимость выделения одинаковых блоков для удешевления и ускорения разработки.

4. локальная оптимизация – оптимизация в пределах уровня.

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

Разные взгляды на объект проектирования называют - аспект проектирования.

Достоинства метода:

1. упрощает проверку работоспособности как системы в целом, так и отдельных блоков

2. обеспечивает возможность поблочной модернизации.

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