Génie logicielLe génie logiciel, l'ingénierie logicielle ou l'ingénierie du logiciel (en software engineering) est une science de génie industriel qui étudie les méthodes de travail et les bonnes pratiques des ingénieurs qui développent des logiciels. Le génie logiciel s'intéresse en particulier aux procédures systématiques qui permettent d'arriver à ce que des logiciels de grande taille correspondent aux attentes du client, soient fiables, aient un coût d'entretien réduit et de bonnes performances tout en respectant les délais et les coûts de construction.
Revue systématiquethumb|Ce diagramme illustre ce que font les auteurs d'une revue systématique. Une revue systématique est un travail de collecte, d'évaluation critique et de synthèse des connaissances existantes sur une question donnée. Cette question bien définie est issue de l'étude d'une problématique posée par un commanditaire, un gestionnaire, un praticien, un chercheur... Il s'agit, contrairement à une revue narrative et non systématique de la littérature, de minimiser les biais pouvant être inhérents soit à la matière première (données, connaissances) soit à la conduite de la revue elle-même, afin d'atteindre la plus grande objectivité possible.
Code sourcevignette|redresse|Copie papier d'un code source en Fortran des années 1970, imprimé sur du , dédié aux fichiers textes. En informatique, le code source est un texte qui présente les instructions composant un programme sous une forme lisible, telles qu'elles ont été écrites dans un langage de programmation. Le code source se matérialise généralement sous la forme d'un ensemble de fichiers texte. Le code source est souvent traduit — par un assembleur ou un compilateur — en code binaire composé d'instructions exécutables par le processeur.
DidacticielUn didacticiel (contraction de « didactique » et « logiciel ») peut désigner deux choses : un programme informatique relevant de l'enseignement assisté par ordinateur (EAO) ; plus précisément, il s'agit d'un logiciel interactif destiné à l'apprentissage des savoirs (et plus rarement de savoir-faire) sur un thème ou un domaine donné et incluant généralement un auto-contrôle de connaissance ; la DGLF préconise dans le sens strict l'emploi de l'expression « logiciel éducatif » ; on parle aussi de tutoriel.
Online schoolAn online school (virtual school, e-school, or cyber-school) teaches students entirely or primarily online or through the Internet. It has been defined as "education that uses one or more technologies to deliver instruction to students who are separated from the instructor and to support regular and substantive interaction between the students. Online education exists all around the world and is used for all levels of education (K-12 High school/secondary school, college, or graduate school).
Massive open online courseUn MOOC (acronyme formé des initiales de massive open online course, en français cours en ligne ouvert à tous ou CLOT ou encore cours en ligne ouvert massivement ou CLOM) est un type ouvert de formation à distance capable d'accueillir un grand nombre de participants. L'appellation MOOC est passée dans le langage courant en France ; elle est désormais reconnue par les principaux dictionnaires. Les participants aux cours, enseignants et élèves, sont dispersés géographiquement et communiquent uniquement par Internet.
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.
Ressources éducatives libresL'expression ressources éducatives libres (REL), de l'anglais Open Educational Resources désigne « des matériaux d’enseignement, d'apprentissage ou de recherche appartenant au domaine public ou publiés avec une licence de propriété intellectuelle permettant leur utilisation, adaptation et distribution à titre gratuit ». En effet, avec Internet et notamment le développement du World Wide Web est né un mouvement mondial lancé par des enseignants et pédagogues, universités, fondations visant à créer et distribuer des ressources éducatives (cours, manuels, logiciels éducatifs, etc.
Learning management systemEn technologies de l'information et de la communication, un learning management system (LMS) ou learning support system (LSS) est un logiciel qui accompagne et gère un processus d'apprentissage ou un parcours pédagogique. En français, on parle de « plateforme d'apprentissage », « système de gestion de l'apprentissage », « centre de formation virtuel », « plate-forme e-learning », « formation ouverte et à distance » (FOAD) ou « formation en ligne », et, particulièrement au Québec, d'« environnement numérique d'apprentissage » (ENA).
Snippetvignette|Exemple de snippet Un snippet est un terme de programmation informatique désignant une petite portion réutilisable de code source ou de texte. Ordinairement, ce sont des unités formellement définies à incorporer dans des modules plus larges. La gestion de snippets est une fonctionnalité de certains éditeurs de texte, des éditeurs de code source, des IDE et autres logiciels apparentés. L'Office québécois de la langue française recommande l'usage des termes « bout de code », « extrait de code », « fragment de code » et « morceau de code » à la place de « snippet ».
Programmation lettréeLa programmation lettrée (ou programmation littéraire) est une approche de la programmation préconisée par Donald Knuth qui se veut différente du paradigme de programmation structurée des années 1970. Le paradigme de la programmation lettrée, tel qu'il a été conçu par Knuth, s'éloigne dans son écriture de l'ordonnancement imposé par l'ordinateur, et à la place autorise les développeurs à utiliser un ordre imposé par la logique et le fil de leur pensée.
Intégration continuevignette|ZAPTEST screenshot L'intégration continue est un ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée. Le concept a pour la première fois été mentionné par Grady Booch et se réfère généralement à la pratique de l'extreme programming. Le principal but de cette pratique est de détecter les problèmes d'intégration au plus tôt lors du développement.
Formation à distancevignette|École à distance (par radio) au Queensland vers 1960. La formation à distance est un dispositif d'enseignement appartenant à la grande catégorie de la formation ouverte ou à distance (FOAD). La FOAD inclut un éventail de pratiques hétéroclites, allant des cours par correspondance, aux MOOC en passant par les formations en ligne. Elle est présente . Le terme de FOAD est apparu pour la première fois en 1991, au sein d’un groupe de travail de la Commission européenne.
MapleMaple est un logiciel propriétaire de calcul formel développé depuis les années 1980 et aujourd'hui édité par la société canadienne Maplesoft. La dernière version est la version 2022. Les objets de base du calcul sont les expressions mathématiques, représentées sous forme de graphes orientés acycliques. Maple fournit un langage de programmation spécifique, inspiré d'Algol, qui est à la fois le langage d'utilisation interactive et celui dans lequel est écrite la plus grande partie de la bibliothèque mathématique du logiciel.
Visual Studio CodeVisual Studio Code est un éditeur de code extensible développé par Microsoft pour Windows, Linux et macOS. Les fonctionnalités incluent la prise en charge du débogage, la mise en évidence de la syntaxe, la complétion intelligente du code (IntelliSense.), les snippets, la refactorisation du code et Git intégré. Les utilisateurs peuvent modifier le thème, les raccourcis clavier, les préférences et installer des extensions qui ajoutent des fonctionnalités supplémentaires.
Ingénierie des systèmesL'ingénierie des systèmes ou ingénierie système est une approche scientifique interdisciplinaire, dont le but est de formaliser et d'appréhender la conception et la validation de systèmes complexes. L'ingénierie des systèmes a pour objectif de maîtriser et de contrôler la conception de systèmes dont la complexité ne permet pas le pilotage simple. Par système, on entend un ensemble d'éléments humains ou matériels en interdépendance les uns les autres et qui inter-opèrent à l'intérieur de frontières ouvertes ou non sur l'environnement.
Réutilisation de codeLa réutilisation de code désigne l'utilisation de logiciel existant, de connaissances sur ce logiciel, de composants logiciels ou du code source, pour créer de nouveaux logiciels. La réutilisation s'appuie fréquemment sur le concept de modularité. Par extension, ce terme désigne également l'ensemble des techniques informatiques proposées ou mises en œuvre pour faciliter cette réutilisation. Bibliothèque logicielle Patron de conception logiciel Framework "An architecture for designing reusable embedded syste
Business process modelingBusiness process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current business processes may be analyzed, improved, and automated. BPM is typically performed by business analysts, who provide expertise in the modeling discipline; by subject matter experts, who have specialized knowledge of the processes being modeled; or more commonly by a team comprising both. Alternatively, the process model can be derived directly from events' logs using process mining tools.
Automatisation de testL'automatisation de test permet de jouer à volonté des tests de régression à la suite de la livraison d'une nouvelle version d'une application. L'automatisation d'un test n'a de sens que si le test répond à un certain nombre de critères : le test est systématique : il doit être exécuté à chaque nouvelle version de l'application. le test est répétitif : il est présent dans de nombreux scénarios de test. le test est automatisable : il est possible techniquement de faire jouer le test par un robot.