Towards a theory of Conceptual Design for Software

✒ Enzo SandrĂ© · 📆 14/09/2022 · #ïžâƒŁ Façonnage de code · 🧠 Psychologie

💭 Nous sommes taillĂ©s pour apprĂ©hender et utiliser des concepts depuis notre enfance. Quoi de plus naturel que d’en retrouver aussi dans les logiciels. Ils aident le dĂ©veloppeur Ă  se retrouver dans son code, mais surtout, ils permettent Ă  l’utilisateur de comprendre le potentiel du logiciel qu’il utilise.

💡 Tweets et Hashtags sur Twitter, Corbeille et FenĂȘtres sous Windows, Instance et Equipement sur World of Warcraft. Un logiciel qui rĂ©ussit expose des concepts clairs.

📚 Un excellent logiciel n’a mĂȘme pas besoin d’un manuel pour vous les amener. Ce que l’on nomme Game Design dans les jeux vidĂ©os existe tout aussi bien dans les autres formes de logiciels, et mĂȘme dans la vie courante : s’il vous faut un manuel pour prendre l’ascenseur, son concepteur a Ă©chouĂ©.

💣 A l’inverse, il est possible de dĂ©finir la complexitĂ© d’un design comme suit : un systĂšme oĂč les actions de l’utilisateur ont des effets directs qu’il ne peut pas voir et des effets indirects qu’il ne pourra pas anticiper.

1ïžâƒŁ Pour atteindre la simplicitĂ©, il faut que chaque concept soit liĂ© Ă  un et un seul problĂšme appelĂ© son motif. Chaque motif doit quant Ă  lui ĂȘtre adressĂ© par un et un seul concept pour ne pas crĂ©er la confusion.

🔗 Un exemple de cette logique est expliquĂ© dans un autre papier co-Ă©crit par le mĂȘme auteur : Purposes, concepts, misfits, and a redesign of git.

SOURCE

Jackson, Daniel. “Towards a theory of conceptual design for software.” 2015 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!) (2015): n. pag. DOI: 10.1145/2814228.2814248

Enzo Sandré


DOIs: 10.1145/2814228.2814248