Pourquoi l'industrie du logiciel a une relation amour-haine avec les diagrammes UML

Publié: 2017-05-19

Avantages et inconvénients d'UML

UML est un langage visuel polyvalent utilisé pour modéliser un système logiciel. L'industrie du logiciel est divisée quant à l'utilisation des diagrammes UML. Alors que certains le considèrent comme une partie intégrante des systèmes logiciels et du développement, un nombre important de personnes le jugent totalement inutile.

Dans cet article, nous explorons les deux côtés de cet argument (à la fois les avantages et les inconvénients d'UML) et tentons de comprendre la relation amour-haine de l'industrie du logiciel avec les diagrammes de conception UML.

Avantages d'UML

Les plus utilisés et les plus flexibles

UML est une plate-forme hautement reconnue et comprise pour la conception de logiciels. C'est une notation standard parmi les développeurs de logiciels. Vous pouvez supposer en toute sécurité que la plupart des professionnels du logiciel connaîtront au moins, sinon bien les diagrammes UML, ce qui en fera l'alternative incontournable pour expliquer les modèles de conception de logiciels.

Ce qui rend UML bien adapté et indispensable au développement de logiciels, c'est sa flexibilité. Vous pouvez personnaliser vos éléments de modélisation et vos interactions dans un diagramme UML spécifiquement en fonction du domaine ou des technologies que vous utilisez.

L'architecture logicielle doit être communiquée efficacement

L'architecture logicielle est le modèle du système. C'est le cadre dont dépend l'efficacité du système et de ses processus. Mais ce cadre n'est efficace que s'il est correctement communiqué à tous ceux qui l'utilisent et y travaillent. C'est là qu'intervient le langage de modélisation unifié (UML).

UML est un langage riche et étendu qui peut être utilisé pour modéliser non seulement l'ingénierie logicielle orientée objet, mais aussi la structure et le comportement des applications, ainsi que les processus métier. Les acteurs du logiciel ont convenu que nous ne pouvons pas nous passer de la documentation de l'architecture. C'est important. Il aide à évaluer les performances, la sécurité, le suivi et fournit des directives importantes pour la mission en cours d'exécution.

En raison de sa large portée, UML est le langage visuel parfait pour communiquer des informations détaillées sur l'architecture au plus grand nombre d'utilisateurs.

Vous n'avez besoin de connaître qu'une fraction de la langue pour l'utiliser

Avantages et inconvénients d'UML - Types de diagrammes UML

Bien qu'il existe 14 types différents de diagrammes UML pour modéliser des applications, les développeurs n'en utilisent que trois ou quatre pour documenter un système logiciel. Les diagrammes de classes, les diagrammes de séquence et les diagrammes de cas d'utilisation restent les plus en vogue.

Cela implique que vous n'avez besoin de connaître que 20 % du langage UML pour expliquer 80 % de vos besoins de modélisation. Vous n'avez pas besoin de connaître ou de comprendre toute la notation pour communiquer efficacement à l'aide de diagrammes UML. Connaître un sous-ensemble de la notation vous équipe très bien.

Abondance d'outils UML

Les outils UML sont l'une des principales raisons pour lesquelles UML est si largement utilisé. Les outils UML vont des logiciels open source gratuits à ceux qui coûtent des millions de dollars. Ces outils couvrent beaucoup de territoire au-delà du simple dessin de diagrammes. Ils peuvent générer du code à partir de la conception, appliquer des modèles de conception, miner les exigences, procéder à l'ingénierie inverse du code et effectuer des analyses d'impact et de complexité.

Ces avantages et l'abondance d'outils UML eux-mêmes font d'UML le langage de modélisation et de développement incontournable dans le domaine du génie logiciel.

Malgré sa myriade d'utilisations et d'avantages, UML n'est pas préféré par tous. En fait, une partie considérable des développeurs de logiciels n'utilisent pas UML et accumulent de lourdes critiques à ce sujet. Examinons les arguments contre l'utilisation d'UML.

Inconvénients d'UML : Raisonner contre UML

La notation formelle n'est pas nécessaire

L'argument le plus fort contre UML est que vous n'avez pas vraiment besoin d'un diagramme UML pour communiquer vos conceptions. Vous pouvez avoir le même impact et le même effet avec des diagrammes encadrés et linéaires informels créés dans PowerPoint, Visio ou un tableau blanc. Comme le codage est un langage formel en soi, beaucoup de développeurs ne préfèrent pas la complexité et la formalité au niveau architectural, ce qui décourage l'utilisation d'UML et est devenu l'un de ses inconvénients.

Degré croissant de complexité

Depuis son lancement jusqu'à aujourd'hui, UML a gagné en complexité et en taille. La taille même d'UML rend beaucoup de gens nerveux dès le début, et ils ont l'impression qu'ils ne pourront pas l'apprendre et qu'il vaut mieux s'en passer.

Pas nécessaire dans la « conception architecturale indifférente »

Terme inventé par George Fairbanks, « conception indifférente à l'architecture » est une situation où UML est considéré comme inutile.

À la base, une conception indifférente à l'architecture fait référence à une architecture logicielle simple et basique, et n'a pas besoin de diagrammes complexes pour représenter ou expliquer la conception. Si les entreprises mettent davantage l'accent sur le codage formel et qu'il existe une culture répandue de documentation de conception minimale, UML est considéré comme inutile.

Déchiffrer cette relation amour-haine :

Bien que l'on parle beaucoup de la redondance d'UML dans l'industrie du logiciel, on ne peut nier que jusqu'à présent, il n'y a pas de substitut holistique ou approprié à UML. Pour recevoir une perspective impartiale sur l'importance et le sort d'UML, nous avons parlé à des géants du matériel qui sont en contact étroit avec l'industrie du logiciel, mais neutres dans leur point de vue.

"L'absence de documentation de conception est acceptable à court terme, mais cela peut devenir un problème à long terme lorsque vous devez communiquer la conception à un développeur qui se trouve dans un autre pays ou à quelqu'un qui rejoindra l'équipe six mois plus tard. . UML devient une aide précieuse dans de telles circonstances et atténue l'ambiguïté et les questions concernant la conception. Un représentant de Sconect, Female Header Manufacturer, est d'avis.

"Nous pouvons parler de langages spécifiques à un domaine pour la modélisation visuelle, mais le fait demeure qu'aucun d'entre eux n'a trouvé une large acceptation, ce qui ne fait qu'affirmer qu'UML reste la meilleure alternative en ce qui concerne les langages visuels." Cette observation a été très intéressante mise en avant par un représentant de Scondar, qui se spécialise dans la fabrication de connecteurs à broches.

Les contributions d'un représentant d'Ismolex résument bien le cas de la relation amour-haine de l'industrie du logiciel avec les diagrammes de conception UML. "Il peut y avoir mille arguments contre l'utilisation d'UML, mais en raison de sa capacité à capturer les nuances des informations sur l'architecture de conception, et avec l'importance croissante de la documentation de conception, UML reste irremplaçable."

Avantages et inconvénients d'UML : de quel côté êtes-vous ?

Les dénis et les adhésions aux diagrammes UML continueront dans les cercles du logiciel. Mais, UML est là pour rester. Les diagrammes UML, cependant, doivent être continuellement mis à jour afin que leur utilisation ne se limite pas à la description et à la communication de l'architecture, mais élargie pour représenter et créer des systèmes capables de s'adapter aux changements dynamiques.

à propos de l'auteur

Je m'appelle Rachel Oliver, je travaille depuis quelques années en tant que rédactrice indépendante et je suis actuellement associée à Ismolex - Fabricant d'en-têtes Pin. Bien que j'aime écrire sur toutes les choses sous le soleil, y compris l'énergie, les affaires, les sports, l'amélioration de l'habitat et la mode, je suis particulièrement passionné par les affaires, la technologie et l'électronique. Vous pouvez me contacter sur Google+, Facebook et Twitter.