Prototypage logicielLe prototypage logiciel (ou « software prototyping » en anglais) désigne l'ensemble des activités de création de prototypes pour les logiciels, c'est-à-dire des versions incomplètes du programme en cours de développement. Cette activité est donc assez proche de la création et la validation de prototypes, telle qu'on la pratique dans l'industrie. Ainsi, un prototype permet d'explorer de façon interactive des scénarios d'utilisation du produit pour en valider les orientations.
Architecture de l'informationLarchitecture de l'information (abréviée AI ou archinfo) est l'art et la science d'exprimer un modèle ou un concept d'information utilisé dans des activités exigeant des détails explicites dans des systèmes complexes. Parmi ces activités, on retrouve notamment les systèmes de gestion de bibliothèque, les systèmes de gestion de contenu, la programmation web, les bases de données, le développement, la programmation, l'architecture entreprise et l'ingénierie logicielle de systèmes critiques.
Logiciel systèmethumb|Logiciel système et applicatif Le logiciel système est un ensemble de programmes informatiques et de bibliothèques logicielles qui fournit un environnement permettant de créer et d'exécuter des logiciels applicatifs. Les fonctionnalités de base d'un ordinateur telles que la manipulation des fichiers et des périphériques sont apportées par le logiciel système. Le logiciel système est lancé avant le logiciel applicatif et joue le rôle d'intermédiaire entre le logiciel applicatif et le matériel de l'ordinateur.
Natural-language programmingNatural-language programming (NLP) is an ontology-assisted way of programming in terms of natural-language sentences, e.g. English. A structured document with Content, sections and subsections for explanations of sentences forms a NLP document, which is actually a computer program. Natural language programming is not to be mixed up with natural language interfacing or voice control where a program is first written and then communicated with through natural language using an interface added on.