UML (informatique)Le Langage de Modélisation Unifié, de l'anglais Unified Modeling Language (UML), est un langage de modélisation graphique à base de pictogrammes conçu comme une méthode normalisée de visualisation dans les domaines du développement logiciel et en conception orientée objet. L'UML est une synthèse de langages de modélisation objet antérieurs : Booch, OMT, OOSE. Principalement issu des travaux de Grady Booch, James Rumbaugh et Ivar Jacobson, UML est à présent un standard adopté par l'Object Management Group (OMG).
MétamodèleDans le cadre d'une modélisation, un métamodèle est un modèle dont les instances sont elles-mêmes des modèles. Comme l'indique le préfixe méta-, un métamodèle est une abstraction permettant de décrire des modèles. La métamodélisation désigne au sens large la conception de métamodèles. Les métamodèles peuvent prendre diverses formes et être utilisés dans divers domaines. En informatique, et plus particulièrement en génie logiciel, la notion de métamodèle est centrale à l'ingénierie dirigée par les modèles, un ensemble de pratiques qui ont en commun la création et l'utilisation de modèles pour conceptualiser un domaine d'application.
Exigence (ingénierie)Une est, dans le domaine de l'ingénierie, un besoin, une nécessité, une attente auquel un produit ou un service doit répondre ou une contrainte qu'il doit satisfaire. L'exigence peut être exprimée par une partie prenante (utilisateur, client, commercial, analyste de marchés, gestionnaire de produits, etc.) ou déterminée par les processus d'ingénierie et en particulier les activités d'études. L'approche commune à tous les domaines d'ingénierie est de définir les besoins, d'envisager des solutions, et de livrer la solution la plus appropriée.
Documentation logicielleLa documentation logicielle est un texte, généralement accompagné de captures d'écran, qui concerne un logiciel informatique. Elle explique comment le logiciel fonctionne, et/ou comment on doit l'employer. Le terme peut avoir des significations différentes pour des personnes de différents profils. La documentation constitue une partie importante de l'ingénierie logicielle, qui est souvent négligée. La documentation peut être de plusieurs types : L'expression de besoin - Définit le besoin du métier lors d'une demande.
Couverture de codeEn génie logiciel, la couverture de code est une mesure utilisée pour décrire le taux de code source exécuté d'un programme quand une suite de test est lancée. Un programme avec une haute couverture de code, mesurée en pourcentage, a davantage de code exécuté durant les tests ce qui laisse à penser qu'il a moins de chance de contenir de bugs logiciels non détectés, comparativement à un programme avec une faible couverture de code.
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.
Capability Maturity Model IntegrationCMMI, sigle de capability maturity model integration, est un modèle de référence, un ensemble structuré de bonnes pratiques, destiné à appréhender, évaluer et améliorer les activités des entreprises d'ingénierie. CMMI a été développé dans les années 1980 par le Software Engineering Institute de l'université Carnegie-Mellon, initialement pour appréhender et mesurer la qualité des services rendus par les fournisseurs de logiciels informatiques du département de la Défense des États-Unis (DoD).
Service-oriented modelingService-oriented modeling is the discipline of modeling business and software systems, for the purpose of designing and specifying service-oriented business systems within a variety of architectural styles and paradigms, such as application architecture, service-oriented architecture, microservices, and cloud computing. Any service-oriented modeling method typically includes a modeling language that can be employed by both the "problem domain organization" (the business), and "solution domain organization" (the information technology department), whose unique perspectives typically influence the service development life-cycle strategy and the projects implemented using that strategy.
Model-based testingvignette|Diagramme du model-based testing Le model-based testing (MBT) est une activité qui permet de concevoir et de dériver (de manière automatique ou non) des cas de tests à partir d'un modèle abstrait et haut niveau du système sous test (SUT). Le modèle est dit abstrait car il offre bien souvent une vue partielle et discrète des comportements attendus d'un logiciel ou d'un système. Sur la base de modèles abstraits, des cas de test peuvent être dérivées sous la forme de suites de tests.
Test caseIn software engineering, a test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a particular software testing objective, such as to exercise a particular program path or to verify compliance with a specific requirement. Test cases underlie testing that is methodical rather than haphazard. A battery of test cases can be built to produce the desired coverage of the software being tested.