Le livre explore la clarté conceptuelle et une nouvelle théorie de la conception de logiciels

Le livre explore la clarté conceptuelle et une nouvelle théorie de la conception de logiciels

Le professeur du MIT Daniel Jackson, qui est le directeur associé du Laboratoire d’informatique et d’intelligence artificielle (CSAIL), examine la conception et la mise en œuvre de logiciels à travers une approche conceptuelle dans son nouveau livre, « L’essence du logiciel ». Crédit : CSAIL

Parfois, les logiciels sont comme nous. Il peut être gonflé, lent et désordonné. Les humains peuvent consulter un médecin si ces symptômes persistent (peut-être pas pour cause de désordre), mais nous poussons rarement un logiciel défectueux à aller voir son développeur maintes et maintes fois.

La réponse à la raison pour laquelle notre logiciel est défectueux est prise au piège dans un réseau de dépendance à l’égard du matériel flashy, des limites d’une approche « de code et de correction » et d’une conception inadéquate. Le professeur du MIT Daniel Jackson, qui est le directeur associé du Laboratoire d’informatique et d’intelligence artificielle (CSAIL) du MIT, a examiné les limitations existantes pour créer un nouveau cadre afin d’améliorer le fonctionnement de nos programmes. Sa théorie de la conception logicielle adopte une approche centrée sur l’humain qui considère une application comme une collection de concepts en interaction. « L’essence du logiciel », le nouveau livre de Jackson, s’appuie sur ses nombreuses années de recherche logicielle, notamment la conception d’Alloy, un langage open source et un analyseur pour la modélisation logicielle.

Q : Des bogues. Des failles de sécurité. Défauts de conception. Le logiciel a-t-il toujours été mauvais ?

R : Le logiciel est en fait meilleur qu’il ne l’a jamais été. C’est juste que la puissance et les fonctionnalités des logiciels ont augmenté si rapidement que nous n’avons pas toujours été en mesure de suivre. Et il existe certains produits logiciels (Apple Keynote, par exemple) qui sont presque parfaits, faciles à utiliser, flexibles, avec presque aucun bogue. Mon livre propose une approche qui permettra à chacun de créer des logiciels aussi bons.

Q : Dans votre nouveau livre, « L’essence du logiciel », vous présentez une théorie de la conception de logiciels qui montre comment un système logiciel « peut être considéré comme un ensemble de concepts en interaction ». Comment cela renverse-t-il la sagesse conventionnelle ?

R : Premièrement, la sagesse conventionnelle considère l’expérience utilisateur principalement dans l’interface utilisateur : sa mise en page, ses couleurs, ses étiquettes, etc. La conception du concept va plus loin pour aborder les mécanismes fondamentaux que le programmeur construit et l’expérience utilisateur.

Deuxièmement, la plupart des applications ont de grandes zones de fonctionnalités qui se chevauchent, mais les approches existantes ne le reconnaissent pas, et les développeurs construisent les mêmes fonctionnalités encore et encore comme si elles étaient nouvelles, sans tirer parti du fait qu’elles ont été construites plusieurs fois. avant. Pensez simplement au nombre d’applications de médias sociaux qui ont mis en œuvre des votes positifs, des commentaires ou des favoris, par exemple. Les concepts vous permettent d’identifier ces opportunités de réutilisation et de tirer parti de la sagesse accumulée en matière de conception.

Q : L’année 2021 a été l’une des pires années pour les violations de données. Les Boeing 787 doivent être redémarrés toutes les 51 minutes pour éviter « plusieurs scénarios de panne potentiellement catastrophiques ». Votre approche peut-elle aider avec ce genre de problèmes de sécurité et de sûreté ?

R : Une grande partie des problèmes de sécurité et de sûreté proviennent d’un manque de clarté dans la conception. Les concepts peuvent aider à cela. Plus directement, les concepts peuvent garantir que les utilisateurs comprennent réellement les effets de leurs actions, et nous savons que de nombreuses catastrophes se produisent parce que les utilisateurs font la mauvaise chose. Dans le domaine de la sécurité, amener l’utilisateur à faire la mauvaise chose (comme accorder l’accès à quelqu’un qui ne devrait pas y avoir accès) est généralement le chemin le plus simple pour prendre le contrôle d’un système. Donc, si vous pouvez concevoir une application pour qu’il soit plus difficile pour les utilisateurs de faire des choses qu’ils regretteront, vous pouvez atténuer ce problème.


Nouvelle détection de malware pour Android au niveau du code source


Fourni par le Massachusetts Institute of Technology

Cette histoire est republiée avec l’aimable autorisation de MIT News (web.mit.edu/newsoffice/), un site populaire qui couvre l’actualité de la recherche, de l’innovation et de l’enseignement du MIT.

Citation: Un livre explore la clarté conceptuelle et une nouvelle théorie de la conception logicielle (2021, 1er décembre) récupéré le 1er décembre 2021 sur https://techxplore.com/news/2021-12-explores-clarity-theory-software.html

Ce document est soumis au droit d’auteur. En dehors de toute utilisation équitable à des fins d’étude ou de recherche privée, aucune partie ne peut être reproduite sans l’autorisation écrite. Le contenu est fourni seulement pour information.