Modélisation de formules de coûts d'un logiciel
-
Ppougnette dernière édition par
Bonsoir à tous,
Dans le cadre d'une étude des coûts (de création et maintenance) des logiciels (je suis de filière informatique), j'ai trouvé un article d'une personne s'étant amusée à les modéliser en formules mathématiques :
Lien : http://www.volle.com/rapports/duree.htmJ'aimerais bien pouvoir citer et exploiter ces travaux mais il y a une partie que je ne comprends pas.
La partie qui m'intéresse va jusqu'au graphique 1, tout ce qui est en dessous ne m'intéresse pas.Voici le principe :
- "Taille" d'un logiciel est notée "n", donc sa complexité est notée f(n)
- Le "coût initial" de production d'un logiciel noté C0 est donc sa complexité initiale multipliée par une constante de proportion.
Donc C0 = k * f(n0).
Ensuite on modélise les coûts de maintenance à une année donnée :
mt = delta * k * f(nt) ; delta étant la croissance de la complexité (car le logiciel s'agrandit).On compare ce coût en disant qu'il pourrait être égal au coût cumulé du logiciel (initial + maintenances) multiplié par un coefficient p :
mt = p * k * f(nt).
Voilà, jusqu'ici tout va bien, seulement à la ligne d'après "il en résulte que" :
delta * f(nt) / f(nt) = p ; ici pas de soucis, on a remplacé "mt" dans la première équation pour avoir ça, mais la ligne suivante, après le "d'où" :
f(nt) = f(n0) * e^pt
C'est ici que je ne comprends plus rien, d'où sortent le n0 et l'exponentielle ? Je ne vois pas le rapport avec les autres équations ? (pareil pour la ligne d'en dessous)
Toute aide serait appréciable ! Je gamberge sur ce problème depuis quelques jours et je n'arrive pas à en sortir, je regrette d'avoir un peu délaissé les maths pendant mes 3 années d'ingé informatique !
Merci !
-
Bonjour,
Je te donne des indications pour trouver le résultat souhaité, mais la notation utilisée me laisse perplexe...J'ai "interprété" !
Tu as écrit:
Citation
mt = delta * k * f(nt)
delta * f(nt) / f(nt) = pCe symbole de multiplication * n'a pas de sens...
Δf(ntf(n_tf(nt) ne représente pas un produit.Δf(ntf(n_tf(nt) représente forcément Δ[f(nt[f(n_t[f(nt)]
Qu'est ce que cela veut dire ?
Pour pouvoir faire les calculs, j'ai admis que Δf(ntf(n_tf(nt) correspondait à ladérivée de f(ntf(n_tf(nt) par rapport à tAinsi,
δf(nt)f(nt)=p\frac{\delta f(n_t)}{f(n_t)}=pf(nt)δf(nt)=p peut s'écrire y′y=p\frac{y'}{y}=pyy′=p
y′=pyy'=pyy′=py Equation différentielle usuelle.
Solution : y=λepty=\lambda e^{pt}y=λept , λ étant une constante réelle.
En revenant aux notations de l'énoncé :f(nt)=λeptf(n_t)=\lambda e^{pt}f(nt)=λept
Pour trouver la valeur de la constante λ, tu donnes à t la valeur 0 :
f(n0)=λep0=λe0=λf(n_0)=\lambda e^{p0}=\lambda e^{0}=\lambdaf(n0)=λep0=λe0=λ
Conclusion:
$\fbox{ f(n_t)=f(n_0) e^{pt}}$
Bien sûr, pour pouvoir exploiter le document joint, je ne conseille de t'informer sur cette notation Δf(ntf(n_tf(nt)...
Bon travail !
-
Ppougnette dernière édition par
Hello !
En effet je n'ai pas réalisé que Δ correspondait à la dérivée... Tout prend son sens maintenant !
Merci à toi, bonne journée :).
-
De rien et bonne journée à toi !