Search-based software engineeringSearch-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure.
Maintenance du logicielvignette|Cycle de vie d'un logiciel La maintenance du logiciel (ou maintenance logicielle) désigne, en génie logiciel, les modifications apportées à un logiciel, après sa mise en œuvre, pour en corriger les fautes, en améliorer l'efficacité ou autres caractéristiques, ou encore adapter celui-ci à un environnement modifié. La norme ISO (ISO/IEC 14764, Software Engineering—Software Life Cycle Processes—Maintenance) décrit en détail les processus de maintenance logicielle.
Serveur informatiquethumb|Des serveurs empilés. Un serveur informatique est un dispositif informatique (matériel et logiciel) qui offre des services à un ou plusieurs clients (parfois des milliers). Les services les plus courants sont : l'accès aux informations du World Wide Web ; le courrier électronique ; le partage de périphériques (imprimantes, disque durs) ; le commerce électronique ; le stockage en base de données ; la gestion de l'authentification et du contrôle d'accès ; le jeu et la mise à disposition de logiciels applicatifs.
Structured systems analysis and design methodStructured Systems Analysis and Design Method (SSADM) is a systems approach to the analysis and design of information systems. SSADM was produced for the Central Computer and Telecommunications Agency, a UK government office concerned with the use of technology in government, from 1980 onwards. SSADM is a waterfall method for the analysis and design of information systems. SSADM can be thought to represent a pinnacle of the rigorous document-led approach to system design, and contrasts with more contemporary agile methods such as DSDM or Scrum.
Interface utilisateurL’interface utilisateur est un dispositif matériel ou logiciel qui permet à un usager d'interagir avec un produit informatique. C'est une interface informatique qui coordonne les interactions homme-machine, en permettant à l'usager humain de contrôler le produit et d'échanger des informations avec le produit. Parmi les exemples d’interface utilisateur figurent les aspects interactifs des systèmes d’exploitation informatiques, des logiciels informatiques, des smartphones et, dans le domaine du design industriel, les commandes des opérateurs de machines lourdes et les commandes de processus.
Logiciel enfouiLes logiciels enfouis ou embarqués (embedded software), sont des entités autonomes qui remplissent une mission indépendante, parfois critique, sans intervention humaine, en général en interaction directe avec l’environnement extérieur que celui-ci soit physique ou informatique. Ces systèmes autonomes peuvent être isolés mais ils sont la plupart du temps reliés et communiquent à travers un réseau grâce à un logiciel d'intermédiation.
Logiciel multiplateformeUn logiciel multiplateforme est un logiciel conçu pour fonctionner sur plusieurs plateformes informatiques. De nombreux langages de programmation sont considérés être multiplateformes . En effet, il suffit de développer un compilateur destiné à générer un code exécutable compréhensible par chacun des processeurs qu’on désire utiliser. On aurait donc : un seul langage de programmation et un compilateur par type de processeur (des processeurs seraient considérés de même type s'ils sont identiquement structurés).
Client lourdthumb|Modèle client-serveur. Un client lourd est un logiciel qui propose des fonctionnalités complexes avec un traitement autonome. La notion de client s'entend dans une architecture client-serveur. Et contrairement au client léger, le client lourd ne dépend du serveur que pour l'échange des données dont il prend généralement en charge l'intégralité du traitement. Le client lourd reste utilisable localement même en cas de panne réseau, d'indisponibilité ou saturation du serveur.
Designvignette|Chaise de Charles Rennie Mackintosh, 1897. Le design, le stylisme ou la stylique est une activité de création souvent à vocation industrielle ou commerciale, pouvant s’orienter vers les milieux sociaux, politiques, scientifiques et environnementaux. Le but premier du design est d’inventer, d’améliorer ou de faciliter l’usage ou le processus d’un élément ayant à interagir avec un produit ou un service matériel ou virtuel.
WebKitWebKit est une bibliothèque logicielle libre permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web dans leurs logiciels. Elle est disponible sous licence BSD et GNU LGPL. Originellement réservée au système d'exploitation Mac OS X (à partir de la version 10.3 Panther), elle a été portée vers Linux et Windows. Ainsi les portages de WebKit pour les environnements GTK+ et Qt se nomment respectivement WebKitGTK+ et QtWebKit. WebKit est un fork du moteur de rendu KHTML du projet KDE utilisé notamment dans le navigateur Konqueror.