Analyse et spécification des besoins des utilisateurs. Ergonomie cognitive. Principes et règles de conception d'interface. Tests utilisateurs. Évaluation heuristique et inspection d'interface. Boîtes à outils. Système de fenêtrage. Architecture logicielle et modèle de programmation événementielle. Communication entre objets. Adaptation du processus de développement logiciel. Aide et assistance. Analyses coûts-bénéfices.