Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пи_ответы.docx
Скачиваний:
8
Добавлен:
22.01.2023
Размер:
425.73 Кб
Скачать

Конструирование ПО

1. Проблемы разработки по и пути их решения.

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

Проблема сложности ПО. Сложность ПО может возрастать из-за сложности структуры ПО, которая проявляется в ходе разработки, и из-за сложности поведения в ходе работы ПО. Сложность структуры и поведения коррелирует со сложностью программируемых систем.

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

Тем не мене справится со сложностью систем помогает декомпозиция. Рекомендуемое число взаимодействующих элементов системы <=7, тогда число связей в предельном случае «каждый с каждым» будет не более 15. Так как каждую связь нужно программно реализовать, поддерживать и отлаживать, это число будет являться предельным. С увеличением числа элементов число связей будет расти. Например, 14 элементов дадут 78 связей, который попросту нецелесообразно поддерживать в программе. В таком случае можно декомпозировать систему на две простых системы по 7 элементов и получить в крайнем случае 28 связей.

Это работает и в случае ПО. Главный способ борьбы с его сложностью – разбиение на доступные для понимания части. Это разбиение вытекает из методов структурного и объектно-ориентированного проектирования. Разбиение упрощает и улучшает все процессы разработки ПО.

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

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

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

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

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