Architecture logicielleL’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments d’un ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions. Contrairement aux spécifications produites par l’analyse fonctionnelle, le modèle d'architecture, produit lors de la phase de conception, ne décrit pas ce que doit réaliser un système informatique mais plutôt comment il doit être conçu de manière à répondre aux spécifications. L’analyse décrit le « quoi faire » alors que l’architecture décrit le « comment le faire ».
Programmation orientée composantthumb|Représentation graphique de composants informatiques. La programmation orientée composant (POC) consiste à utiliser une approche modulaire de l'architecture d'un projet informatique, ce qui permet d'assurer au logiciel une meilleure lisibilité et une meilleure maintenance. Les développeurs, au lieu de créer un exécutable monolithique, se servent de briques réutilisables. La POC n'est pas sans similitudes avec la POO, puisqu'elle revient à utiliser une approche objet, non pas au sein du code, mais au niveau de l'architecture générale du logiciel.
Agent-based modelAn agent-based model (ABM) is a computational model for simulating the actions and interactions of autonomous agents (both individual or collective entities such as organizations or groups) in order to understand the behavior of a system and what governs its outcomes. It combines elements of game theory, complex systems, emergence, computational sociology, multi-agent systems, and evolutionary programming. Monte Carlo methods are used to understand the stochasticity of these models.
Système complexe adaptatifUn système complexe adaptatif ou système complexe auto-adaptatif est l'ensemble des cas particuliers d'un système complexe capable de s'adapter à son environnement par des expériences d'apprentissage. Le terme anglais complex adaptive systems (CAS) a été introduit par l'Institut interdisciplinaire de Santa Fe notamment par John H. Holland et Murray Gell-Mann. En 1962, Vero Copner Wynne-Edwards a observé la sélection de groupe à l’œuvre dans les communautés d’oiseaux sauvages.
MultiprocessingMultiprocessing is the use of two or more central processing units (CPUs) within a single computer system. The term also refers to the ability of a system to support more than one processor or the ability to allocate tasks between them. There are many variations on this basic theme, and the definition of multiprocessing can vary with context, mostly as a function of how CPUs are defined (multiple cores on one die, multiple dies in one package, multiple packages in one system unit, etc.).
Système logicielUn système logiciel est un ensemble de composants logiciels (programmes, documentations, fichiers de configuration). Un système logiciel est partie intégrante d'un système informatique, ce dernier étant composé de systèmes matériels et de systèmes logiciels. On doit distinguer le terme système logiciel des termes logiciel (incluant logiciel applicatif) et programme informatique.
Applications de l'intelligence artificielleL'intelligence artificielle, définie comme intelligence présentée par les machines, a de nombreuses applications dans la société actuelle. Plus précisément, c'est l'IA faible, la forme d'IA avec laquelle les programmes sont développés pour effectuer des tâches spécifiques, qui est utilisée pour un large éventail d'activités, y compris le diagnostic médical, le commerce électronique, le contrôle des robots et la télédétection. L'IA a été utilisée pour développer et faire progresser de nombreux domaines et industries, y compris la finance, la santé, l'éducation, le transport, et plus encore.
Table de hachage distribuéeUne table de hachage distribuée (ou DHT pour Distributed Hash Table), est une technique permettant la mise en place d’une table de hachage dans un système réparti. Une table de hachage est une structure de données de type clé → valeur. Chaque donnée est associée à une clé et est distribuée sur le réseau. Les tables de hachage permettent de répartir le stockage de données sur l’ensemble des nœuds du réseau, chaque nœud étant responsable d’une partie des données.
Conception de logicielLa conception de logiciel met en œuvre un ensemble d'activités qui à partir d'une demande d'informatisation d'un processus (demande qui peut aller de la simple question orale jusqu'au cahier des charges complet) permettent la conception, l'écriture et la mise au point d'un logiciel (et donc de programmes informatiques) jusqu'à sa livraison au demandeur. En règle générale, la fabrication d'un logiciel va suivre trois grandes phases : Phase d'analyse (fonctionnelle) ou de conceptionDurant cette phase, on effectue simultanément l'étude des données et l'étude des traitements à effectuer.
Platform as a servicePlatform as a service (PaaS), ou plate-forme en tant que service, est l'un des types d'infonuagique (Cloud Computing), principalement destiné aux développeurs ou aux entreprises de développement, où : l'entité cliente (développeurs ou entreprise) maintient les applications proprement dites; le fournisseur cloud maintient la plate-forme d'exécution de ces applications : le matériel du ou des serveurs (la carte mère, la mémoire vive...), les logiciels de base (c'est-à-dire le ou les systèmes d'exploitation, le ou les moteurs de bases de données.
Éthique de l'intelligence artificielleL'éthique de l'intelligence artificielle est le domaine de l' propre aux robots et autres entités artificiellement intelligents. Il est généralement divisé en roboéthique, qui se préoccupe de l'éthique humaine pour guider la conception, la construction et l'utilisation des êtres artificiellement intelligents, et l', préoccupée par le comportement moral des agents moraux artificiels. Pour l'aspect philosophique de l'intelligence artificielle, voir Philosophie de l'intelligence artificielle.