Что означает «нижестоящий / восходящий дизайн» в разработке программного обеспечения?
Что означает «нижестоящий / восходящий дизайн» в разработке программного обеспечения?
Ответы:
Вышестоящие компоненты - это другие части системы, от которых зависит выполнение вашего компонента. Если дизайн вышестоящего компонента изменится, это может повлиять на его работоспособность. Если вышестоящий компонент содержит ошибку, эта ошибка может проявиться в вашем компоненте.
Нижестоящие компоненты являются частями системы, на которые может воздействовать ваш компонент. Изменения в вашем компоненте могут распространяться на компоненты, которые находятся ниже по потоку от вашего компонента.
Рассмотрим приложение, которое состоит из уровня базы данных и уровня приложения. Уровень базы данных считается восходящим по отношению к уровню приложения.
Вверх по течению = вверх по скважине (происхождение программного обеспечения) Вниз по течению = вниз к океану (вариантов использования)
Разработчики с открытым исходным кодом, которые являются «нижестоящими», создают приложения и инструменты для готовых продуктов. Те, кто работает вверх по течению, на самом деле работают над выпуском продуктов.
Если вы разрабатываете программное обеспечение: вы зависите от стабильности разработки. А те, кто работает над вашим программным обеспечением, являются разработчиками.
Я думаю, что это скорее жаргона разработки программного обеспечения, чем английский, но, как я понимаю, «нижестоящий дизайн» - это когда разработчики приложений берут уже разработанные инструменты и используют их для завершения своего приложения. Использование уже созданных программных библиотек, в которых уже приняты решения о том, какие функции библиотеки будут сделаны, является последующим.
При разработке «upstream design» разработчик приложения консультируется и участвует в разработке библиотек еще до того, как работа приложения действительно началась. Например, если вы собираетесь стать компанией, занимающейся разработкой программного обеспечения, которая специализируется на аудио-программном обеспечении, вам может потребоваться разработка библиотек, охватывающих весь спектр программного обеспечения, которое вы планируете разрабатывать. Было бы неплохо иметь возможность, чтобы разработчики библиотек сидели с разработчиками приложений, чтобы разработчики приложений могли внести вклад в то, что они хотят.
Upstream более адаптирован, что делает его намного более дорогим, но потенциально дает лучший конечный продукт.