Cependant, j'ai eu un professeur ou deux qui ont parlé de l'utilisation d'un langage UML formel strict, aussi proche que possible de la spécification.
Demandez à votre professeur quand était la dernière fois qu'il a utilisé cette approche sur un système réel. Sérieusement.
J'essaie d'être aussi formel que possible en ce qui concerne UML, mais uniquement si cela a du sens. Les zélés des deux côtés du spectre (des cow-boys aux formalistes exigeants) ne comprennent pas cela.
Il existe des contextes dans lesquels une approche moins rigide (comme celle que vous utilisez personnellement) est la meilleure approche à suivre. Un bon exemple concerne les petits systèmes ou les changements, où les exigences sont petites et pas complètement définies; le groupe responsable est efficace et performant; il est plus important de le sortir que de le rendre parfait. Cela se fait de manière itérative et certaines lacunes sont acceptables.
Ou peut-être êtes-vous à un stade où vous faites de la guestimation et du croquis, par opposition à une phase de modélisation formelle complète. Ce sont des exemples qui me viennent à l’esprit.
D'autres fois, vous avez besoin d'une approche UML formelle rigide. Par exemple, vous pourriez être lié contractuellement; vous avez un très grand nombre de développeurs dans plusieurs équipes (éventuellement distribuées); la portée du projet pourrait être en années; c'est un très gros système (y compris les composants logiciels et matériels); le coût de l'échec est élevé, etc.
A d'autres moments , vous devez utiliser autre chose à la place / en plus du langage UML (modèles formels mathématiques formels tels que réseaux de Petri, CSP ou logique temporelle.) où vous êtes lié contractuellement (par exemple, comme en Europe lors du développement de systèmes de transport).
Tout dépend des circonstances et de ce que nous attendons de chaque approche. Un professeur qui persévère dans les formalités est simplement un zélote aveugle. Le monde de l'ingénierie n'est pas une dichotomie noir / blanc, vrai / faux. C'est un monde de compromis intelligents.
Si vous êtes assez intelligent pour utiliser un modèle informel occasionnel d’une manière efficace et appropriée pour que le travail soit effectué, qu’il en soit ainsi. De même, vous devrez reconnaître quand ne PAS utiliser une approche informelle et / ou quand NE PAS utiliser une approche formelle.
Cela dit, vous devez jouer avec les professeurs. Donnez-leur un os pour qu'ils vous attribuent une note, et si cela signifie de vous incliner enfin devant leur mantra zélé, c'est très bien. Vous savez ce qui fonctionne pour vous et si tout va bien, vous saurez quand utiliser quoi et comment dans le monde réel.