• Développement informatique
  • Algèbre

Spécification et Modélisation Informatiques

Mis à jour le

Responsable(s) : M. Nicolas PIOCH

  • Cours + travaux pratiques
Code Cnam : USCB1E

Envie d'en savoir plus sur cette formation ?

Afin d’obtenir les tarifs, le calendrier de la formation, en distanciel, en présentiel, le lieu de la formation et un contact, remplissez les critères suivants :

Afficher le centre adapté à mes besoins

Afin d’obtenir les tarifs, le calendrier de la formation et le lieu de la formation, remplissez les critères suivants :

    • Développement informatique
    • Langage Python
    • Logiciel Excel
    • Analyse de données
    • Informatique de gestion
    • Automatisation
    • Langages informatiques
    • Langage Visual Basic
    • Programmation structurée
    • Logiciels/outils/applications/services

    Macros, programmation VBA

    Cours + travaux pratiques, NFE006
    6 crédits Distanciel A la carte 2026/27 2027/28
    Paris
    Voir la formation
    • Développement informatique
    • Résolution problème
    • Mathématiques informatiques

    Algorithmique et Programmation

    Cours, RCP106
    6 crédits Hybride (présentiel et distanciel) A la carte 2026/27 2027/28
    Paris
    Voir la formation
    • Développement informatique

    Programmation avec Java : notions de base

    Cours + travaux pratiques, NFA031
    6 crédits Distanciel Hybride (présentiel et distanciel) Présentiel Distanciel planifié A la carte 2026/27 2027/28 2028/29
    Hauts-de-France, Liban, Ile-de-France (sans Paris), Madagascar, Paris, Nouvelle Aquitaine, Grand Est
    Voir la formation
    • Développement informatique
    • Langage C++
    • Langage C
    • Langage Python
    • Algorithme
    • Programmation orientée objet
    • Programmation structurée

    Programmation en langage C/C++

    Cours + travaux pratiques, NFA037
    6 crédits Distanciel A la carte 2026/27 2027/28
    Paris
    Voir la formation
  • Durée : 45 heures (+/- 10%)
  • Alternance
  • 5 crédits

Présentation

Public, conditions d'accès et prérequis

Prérequis

Connaissance générale de l'informatique, bases de la programmation et de la méthodologie de développement.

Objectifs

Le but du cours est de présenter les outils mathématiques (logique, automates, logique de Hoare etc), utiles pour la spécification et la modélisation de systèmes informatiques. Ils constitue les base du génie logiciel, des réseaux, de la conception et du développement, des bases de données, des systèmes d'information et des systèmes transactionnels. A ce titre, ils sont sous-jacents à de nombreux enseignements du cursus.

Compétences et débouchés

Compétences

Savoir lire et écrire des spécification de systèmes utilisant des automates finis ou les formalismes logiques vus en cours. Être conscient de l'intérêt de formaliser des spécifications partielles.

Programme

Contenu

Outils conceptuels (un sous-ensemble significatif doit être traité)

  • Automates 
    • Expressions régulières et automates finis à états
    • Propriétés de clôture
    • Algorithmes de déterminisation, minimisation
  • Calcul des Prédicats et Théorie des Ensembles
    • Calcul des Prédicats : validité, prouvabilité, correction, complétude, indécidabilité.
    • Théorie des Ensembles : ensembles, relations, fonctions
  • Preuve de programme
    • contrat de fonction, pré-post-conditions, invariants de boucles

Exemples d'utilisation 
Les exemples du cours porteront sur des applications.

Pour les automates finis, ces applications comportent la modélisation d'automatisme (distributeur de billet, ascenseur), la modélisation de protocoles, des diagrammes
d'états-transition UML, la correction orthographique.  Par ailleurs, on illustrera l'ajout de contraintes OCL sur un modèle UML.

Le cours pourra aborder également les rapports entre spécification logique et le modèle relationnel des bases de données.  Les notions de dépendance fonctionnelle et de de forme normale seront mises en relation avec les concepts ensemblistes.

Concernant la preuve de programme, des algorithme simple sur les nombres et sur les graphes pourraont par exemple être utilisés.

Tous ces sujets ne seront pas nécessairement tous couverts par le cours, qui pourra mettre l'accent sur une partie seulement de ces exemples d'application.

Modalités d'évaluation

Examen écrit éventuellement complété d'une note de contrôle continu sanctionnant des devoirs, projets ou autres travaux personnels.

Ces formations pourraient vous intéresser

    • Développement informatique
    • Langage Python
    • Logiciel Excel
    • Analyse de données
    • Informatique de gestion
    • Automatisation
    • Langages informatiques
    • Langage Visual Basic
    • Programmation structurée
    • Logiciels/outils/applications/services

    Macros, programmation VBA

    Cours + travaux pratiques, NFE006
    6 crédits Distanciel A la carte 2026/27 2027/28
    Paris
    Voir la formation
    • Développement informatique
    • Résolution problème
    • Mathématiques informatiques

    Algorithmique et Programmation

    Cours, RCP106
    6 crédits Hybride (présentiel et distanciel) A la carte 2026/27 2027/28
    Paris
    Voir la formation
    • Développement informatique

    Programmation avec Java : notions de base

    Cours + travaux pratiques, NFA031
    6 crédits Distanciel Hybride (présentiel et distanciel) Présentiel Distanciel planifié A la carte 2026/27 2027/28 2028/29
    Hauts-de-France, Liban, Ile-de-France (sans Paris), Madagascar, Paris, Nouvelle Aquitaine, Grand Est
    Voir la formation
    • Développement informatique
    • Langage C++
    • Langage C
    • Langage Python
    • Algorithme
    • Programmation orientée objet
    • Programmation structurée

    Programmation en langage C/C++

    Cours + travaux pratiques, NFA037
    6 crédits Distanciel A la carte 2026/27 2027/28
    Paris
    Voir la formation