Que signifie «conception en aval / en amont»?

20

Que signifie «conception en aval / en amont» dans le développement de logiciels?

RegDwight
la source
1
Je ne sais pas si l'usage que vous demandez est bien établi. Quel est le contexte de votre question? Quel problème essayez-vous de résoudre?
Jeremy
Êtes-vous sûr que le mot "design" est joint? J'ai entendu parler de l'amont et de l'aval, généralement associé à des «activités», pas à la conception. En ce sens, les exigences et la conception sont des activités en amont, tandis que la mise en œuvre, les tests et la maintenance sont des activités en aval.
Thomas Owens
Connexes: Que signifie «en amont»? à OS
kenorb

Réponses:

30

Les composants en amont sont d'autres parties du système dont votre composant dépend pour faire son travail. Si la conception d'un composant en amont change, la capacité de votre composant à fonctionner peut être affectée. Si un composant en amont a un bogue, ce bogue peut se manifester dans votre composant.

Les composants en aval sont des parties du système que votre composant peut affecter. Les modifications de votre composant peuvent se répercuter sur les composants en aval de votre composant.

Considérez une application qui se compose d'un niveau de base de données et d'un niveau d'application. Le niveau de base de données serait considéré comme étant en amont du niveau d'application.

Jay Elston
la source
1
Réponse facile à retenir ici stackoverflow.com/a/38917565/579689
Talespin_Kit
10

En amont = en amont du puits (l'origine du logiciel) En aval = en descendant vers l'océan (de cas d'utilisation)

Les développeurs Open Source qui sont "en aval" créent des applications et des outils sur les produits finis. Ceux qui sont en amont travaillent réellement sur les produits à sortir.

Si vous développez un logiciel: vous dépendez de la stabilité du développement en amont. Et ceux qui travaillent sur votre logiciel sont des développeurs en aval.

AxelS
la source
2
Cette réponse est la plus claire de toutes!
Alexander Leon VI
Sauf que cela semble être l'inverse lorsque l'on parle d'une CMDB en langage ITIL. : /
Dwev
2

Je pense que c'est plus un jargon de génie logiciel que l'anglais, mais la façon dont je le comprends "conception en aval" est où les développeurs d'applications prennent les outils qui ont déjà été développés et les utilisent pour compléter leur application. L'utilisation de bibliothèques de logiciels déjà produites où les décisions sur les capacités des bibliothèques auraient déjà été prises est en aval.

Avec la «conception en amont», le développeur de l'application est consulté et impliqué dans le développement des bibliothèques avant même que le travail d'application ait vraiment commencé. Si vous allez être une société de logiciels spécialisée dans les logiciels audio, par exemple, vous devrez peut-être développer des bibliothèques pour couvrir la gamme de logiciels que vous prévoyez de développer. Ce serait bien de pouvoir faire asseoir les développeurs de bibliothèques avec les développeurs d'applications afin que les développeurs d'applications puissent fournir des informations sur ce qu'ils veulent.

L'amont est plus personnalisé, ce qui le rend beaucoup plus cher mais produit potentiellement un meilleur produit final.

Lardons
la source