“下游/上游设计”是什么意思?


20

软件开发中的“下游/上游设计”是什么意思?


1
我不知道您要问的用法是否已经确定。您的问题背景是什么?您要解决什么问题?
杰里米

您确定附加了“设计”一词吗?我听说过上游和下游,通常加上“活动”,而不是设计。从这个意义上讲,需求和设计是上游活动,而实施,测试和维护是下游活动。
Thomas Owens

Answers:


30

上游组件是系统组件执行其工作所依赖的其他部分。如果上游组件的设计发生变化,则组件的功能可能会受到影响。如果上游组件存在错误,则该错误可能会在您的组件中显示。

下游组件是您的组件可能影响的系统部分。组件中的更改可能会波及到组件下游的组件。

考虑一个由数据库层和应用程序层组成的应用程序。数据库层将被视为在应用程序层的上游。


1
这里容易记住的答案stackoverflow.com/a/38917565/579689
Talespin_Kit

10

上游=井上(软件的来源)下游=井下到海洋(用例)

“下游”的开源开发人员在最终产品上构建应用程序和工具。那些上游的人实际上正在开发要发布的产品。

如果您开发软件:您取决于上游开发的稳定性。那些从事您的软件工作的人是下游开发人员。


2
这个答案是所有人的最根本!
亚历山大·莱昂六世

除了用ITIL语言讨论CMDB似乎相反。:/
Dwev '16

2

我认为这不是英语的软件工程术语,但是我理解它的“下游设计”是应用程序开发人员使用已经开发的工具并使用它们来完成应用程序的地方。使用已经生产的软件库,这些软件库已经做出了有关库功能的决定,这是在下游进行的。

通过“上游设计”,甚至在应用程序工作尚未真正开始之前就咨询了应用程序开发人员并参与了库的开发。例如,如果您要成为专注于音频软件的软件公司,则可能需要开发库以涵盖计划开发的软件范围。能够让库开发人员与应用程序开发人员坐下来,这样应用程序开发人员就可以根据自己的需求提供输入,这将是很好的。

上游的定制程度更高,因此价格昂贵得多,但有可能生产出更好的最终产品。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.