web-dev-qa-db-fra.com

Que signifie «conception en aval / en amont»?

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

21
iSeiryu

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.

31
Jay Elston

En amont = en amont du puits (l'origine du logiciel) En aval = en descendant vers l'océan (des 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 des logiciels: vous dépendez de la stabilité du développement en amont. Et ceux qui travaillent sur votre logiciel sont des développeurs en aval.

11
AxelS

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 apporter leur contribution à ce qu'ils veulent.

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

2
Bacon Bits