Software development processIn software engineering, a software development process is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Machine virtuellethumb|Machine virtuelle des assistants personnels Palm. En informatique, une machine virtuelle (anglais virtual machine, abr. VM) est d'un appareil informatique créée par un logiciel d'émulation ou instanciée sur un hyperviseur. Le logiciel d'émulation simule la présence de ressources matérielles et logicielles telles que la mémoire, le processeur, le disque dur, voire le système d'exploitation et les pilotes, permettant d'exécuter des programmes dans les mêmes conditions que celles de la machine simulée.
Théorie de la démonstrationLa théorie de la démonstration, aussi connue sous le nom de théorie de la preuve (de l'anglais proof theory), est une branche de la logique mathématique. Elle a été fondée par David Hilbert au début du . Hilbert a proposé cette nouvelle discipline mathématique lors de son célèbre exposé au congrès international des mathématiciens en 1900 avec pour objectif de démontrer la cohérence des mathématiques.
Méthode agilevignette|Daily stand-up, rituel quotidien des méthodes agiles. En ingénierie logicielle, les mettent en avant la collaboration entre des équipes auto-organisées et pluridisciplinaires et leurs clients. Elles s'appuient sur l'utilisation d'un cadre méthodologique léger mais suffisant centré sur l'humain et la communication. Elles préconisent une planification adaptative, un développement évolutif, une livraison précoce et une amélioration continue, et elles encouragent des réponses flexibles au changement.
Traitement de donnéesEn informatique, le terme traitement de données ou traitement électronique des données renvoie à une série de processus qui permettent d'extraire de l'information ou de produire du savoir à partir de données brutes. Ces processus, une fois programmés, sont le plus souvent automatisés à l'aide d'ordinateurs. Si les résultats finaux produits par ces processus sont destinés à des humains, leur présentation est souvent essentielle pour en apprécier la valeur. Cette appréciation est cependant variable selon les personnes.
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.
Iterative and incremental developmentIterative and incremental development is any combination of both iterative design or iterative method and incremental build model for development. Usage of the term began in software development, with a long-standing combination of the two terms iterative and incremental having been widely suggested for large development efforts. For example, the 1985 DOD-STD-2167 mentions (in section 4.1.2): "During software development, more than one iteration of the software development cycle may be in progress at the same time.
Cloud computingLe cloud computing , en français l'informatique en nuage (ou encore l'infonuagique au Canada), est la pratique consistant à utiliser des serveurs informatiques à distance et hébergés sur internet pour stocker, gérer et traiter des données, plutôt qu'un serveur local ou un ordinateur personnel. Les principaux services proposés en cloud computing sont le SaaS (Software as a Service), le PaaS (Platform as a Service) et le IaaS (Infrastructure as a Service) ou le MBaaS ().
VirtualisationLa virtualisation consiste, en informatique, à exécuter sur une machine hôte, dans un environnement isolé, des systèmes d'exploitation — on parle alors de virtualisation système — ou des applications — on parle alors de virtualisation applicative. Ces ordinateurs virtuels sont appelés serveur privé virtuel (Virtual Private Server ou VPS) ou encore environnement virtuel (Virtual Environment ou VE).
Démonstration (logique et mathématiques)vignette| : un des plus vieux fragments des Éléments d'Euclide qui montre une démonstration mathématique. En mathématiques et en logique, une démonstration est un ensemble structuré d'étapes correctes de raisonnement. Dans une démonstration, chaque étape est soit un axiome (un fait acquis), soit l'application d'une règle qui permet d'affirmer qu'une proposition, la conclusion, est une conséquence logique d'une ou plusieurs autres propositions, les prémisses de la règle.
Grappe de serveursOn parle de grappe de serveurs, de cluster, de groupement de serveurs ou de ferme de calcul (computer cluster en anglais) pour désigner des techniques consistant à regrouper plusieurs ordinateurs indépendants appelés nœuds (node en anglais), afin de permettre une gestion globale et de dépasser les limitations d'un ordinateur pour : augmenter la disponibilité ; faciliter la montée en charge ; permettre une répartition de la charge ; faciliter la gestion des ressources (processeur, mémoire vive, disques durs,
Grille informatiqueUne grille informatique (en anglais, grid) est une infrastructure virtuelle constituée d'un ensemble de ressources informatiques potentiellement partagées, distribuées, hétérogènes, délocalisées et autonomes. Une grille est en effet une infrastructure, c'est-à-dire des équipements techniques d'ordres matériel et logiciel. Cette infrastructure est qualifiée de virtuelle car les relations entre les entités qui la composent n'existent pas sur le plan matériel mais d'un point de vue logique.
Réponse indicielleEn automatique la réponse indicielle est la réponse d'un système dynamique à une fonction marche de Heaviside communément appelée échelon. Si le système est un système linéaire invariant (SLI) à temps continu ou discret, alors la réponse indicielle est définie par les relations respectives suivantes : Lorsque le système est asymptotiquement stable, la réponse indicielle converge vers une valeur limite (asymptote horizontale) appelée valeur stationnaire ou finale.
Calcul participatifthumb|Protocole de fonctionnement de l'intergiciel Xgrid (2008) Le calcul participatif est un type de calcul distribué dans lequel une personne fait don de ressources inutilisées de son ordinateur à un projet axé sur la recherche. L'idée fondamentale sous-jacente est qu'un ordinateur de bureau moderne est suffisamment puissant pour effectuer des milliards d'opérations par seconde, mais pour la plupart des utilisateurs, seulement 10 à 15 % de sa capacité est utilisée.
Ordonnancement dans les systèmes d'exploitationDans les systèmes d'exploitation, l’ordonnanceur est le composant du noyau du système d'exploitation choisissant l'ordre d'exécution des processus sur les processeurs d'un ordinateur. En anglais, l'ordonnanceur est appelé scheduler. Un processus a besoin de la ressource processeur pour exécuter des calculs; il l'abandonne quand se produit une interruption, etc. De nombreux anciens processeurs ne peuvent effectuer qu'un traitement à la fois.
Cycle de développement (logiciel)Il existe différents types de cycles de développement entrant dans la réalisation d'un logiciel. Ces cycles prennent en compte toutes les étapes de la conception d'un logiciel. Ce cycle de développement est aussi utilisé dans l'industrie aéronautique et spatiale pour définir des systèmes, ou des sous systèmes embarqués ou au sol qu'ils incluent ou pas de l'informatique. vignette|Évolution des cycles basiques vignette|Modèle en cascade Modèle en cascade Le modèle en cascade est issu du développement de logiciels.
Échantillonnage (statistiques)thumb|Exemple d'échantillonnage aléatoire En statistique, l'échantillonnage désigne les méthodes de sélection d'un sous-ensemble d'individus (un échantillon) à l'intérieur d'une population pour estimer les caractéristiques de l'ensemble de la population. Cette méthode présente plusieurs avantages : une étude restreinte sur une partie de la population, un moindre coût, une collecte des données plus rapide que si l'étude avait été réalisé sur l'ensemble de la population, la réalisation de contrôles destructifs Les résultats obtenus constituent un échantillon.
Processus (informatique)Un processus (en anglais, process), en informatique, est un programme en cours d'exécution par un ordinateur. De façon plus précise, il peut être défini comme : un ensemble d'instructions à exécuter, pouvant être dans la mémoire morte, mais le plus souvent chargé depuis la mémoire de masse vers la mémoire vive ; un espace d'adressage en mémoire vive pour stocker la pile, les données de travail ; des ressources permettant des entrées-sorties de données, comme des ports réseau.
Exploration de donnéesL’exploration de données, connue aussi sous l'expression de fouille de données, forage de données, prospection de données, data mining, ou encore extraction de connaissances à partir de données, a pour objet l’extraction d'un savoir ou d'une connaissance à partir de grandes quantités de données, par des méthodes automatiques ou semi-automatiques.
Développement de logicielLe développement de logiciel consiste à étudier, concevoir, construire, transformer, mettre au point, maintenir et améliorer des logiciels. Ce travail est effectué par les employés d'éditeurs de logiciels, des entreprises de services du numérique (ESN), des travailleurs indépendants (freelance) et des membres de la communauté du logiciel libre. Un logiciel est créé petit à petit par une équipe d'ingénieurs conformément à un cahier des charges établi par un client demandeur ou une équipe interne.