Code et Algorithmique

Les phases d’analyse et de développement logiciels reposent sur l’utilisation de langages spécifiques. On peut distinguer

  • les langages de conception qui guident la conception d’un système, notamment au niveau :
    • des exigences d’un système logiciel. Il s’agit essentiellement de langages textuels structurés ou de notations graphiques simples tels que les cas d’utilisation UML ou diagrammes d’exigences/buts tels que SysML ou KAOS
    • des spécifications détaillées de l’architecture du logiciel, qui repose sur un ensemble de notations plus élaboré, typiquement des diagrammes UML de classes, de séquences, machines à états, composants...
  • les langages de programmation qui décrivent comment un ordinateur va réaliser les manipulations conduisant à la réalisation du design précédemment spécifié, il s’agit notamment :
    • de langages impératifs procéduraux ou orientés-objets tels que Java, C, C++, C#, python, php...
    • des langages plus spécifiques par exemple pour décrire les bases de données et les manipuler (SQL), manipuler des données et des éditeurs associés sur bases de méta-modèles (EMF/GMF)