Comment développer un programme

Objectif : Comprendre les étapes qui transforment un problème en programme exécutable.

Comment développer un programme

Question

Comment un programme est-il créé par le programmeur ?

Comment développer un programme

Développer un programme exige une méthode rigoureuse

  • Avant d’écrire le programme dans un langage de programmation, il faut d’abord comprendre le problème.
  • Le développement suit quatre étapes :
    1. l’analyse du problème;
    2. la conception d’une solution;
    3. l’implémentation de la solution;
    4. les tests du programme.
Comment développer un programme

1. Analyser et 2. concevoir

Étape Question Travail Livrable
Analyse Quoi ? Comprendre le problème et les besoins; identifier les données et les résultats. Spécifications
Conception Comment ? Trouver une solution; la décrire par une méthode claire et précise; la valider. Algorithme
Comment développer un programme

3. Implémenter et 4. tester

Étape Travail Livrable
Implémentation Choisir un langage et traduire l’algorithme en code. Fichier de code source
Tests Exécuter le programme avec un jeu de données, repérer les anomalies et les corriger. Programme fonctionnel
Comment développer un programme

Les quatre étapes produisent un programme fonctionnel

Point de départ Étape Livrable
Énoncé du problème Analyse Spécifications
Spécifications Conception Algorithme
Algorithme Implémentation Code source
Code source Tests et validation Programme fonctionnel
Comment développer un programme

Exemple : calculer la moyenne de deux nombres

  • Énoncé : déterminer la moyenne de deux nombres.
  • Analyse :
    • entrées : deux nombres entiers, n1 et n2;
    • sortie : leur moyenne réelle, moyenne.
  • Conception :
début
  saisir n1
  saisir n2
  moyenne ← (n1 + n2) / 2
  afficher moyenne
fin
  • Implémentation : coder l’algorithme dans Moyenne.java.
  • Tests : exécuter le programme avec plusieurs paires de nombres.
Comment développer un programme

Programme en Java : Moyenne.java

import java.util.Scanner;

public class Moyenne {
  public static void main(String[] args) {
    Scanner clavier = new Scanner(System.in);

    System.out.print("Entrer le premier nombre : ");
    int n1 = clavier.nextInt();
    System.out.print("Entrer le deuxième nombre : ");
    int n2 = clavier.nextInt();

    double moyenne = (n1 + n2) / 2.0;
    System.out.println("La moyenne est : " + moyenne);

    clavier.close();
  }
}
Comment développer un programme

Programmer, c’est traduire l’algorithme

L’implémentation utilise un langage de programmation pour traduire l’algorithme.

  1. Codage
    • Traduire l’algorithme en respectant les règles syntaxiques du langage.
  2. Édition du code
    • Saisir le code dans un éditeur.
    • Enregistrer le fichier avec l’extension du langage : .java, .cpp, .pas, etc.
Comment développer un programme

Compiler et éditer les liens

  1. Compilation
    • Transformer le code source en code machine ou en code intermédiaire.
    • Utiliser un compilateur ou un interpréteur.
    • Certains compilateurs produisent un fichier de code objet ou de pseudocode binaire.
  2. Édition des liens
    • Intégrer les composants externes nécessaires au programme.
    • Produire un code prêt à être exécuté par le processeur.
Comment développer un programme

De Moyenne.java au code machine

Fichier ou composant Rôle
Moyenne.java Code source lisible par le programmeur
Compilateur javac Traduit le code source
Moyenne.class Bytecode Java, ou pseudocode binaire
Machine virtuelle Java Charge et exécute le bytecode
Processeur Exécute le code machine

Moyenne.javajavacMoyenne.class → JVM → processeur

Comment développer un programme

Le fichier exécutable contient du code binaire

  • Il résulte de la traduction des instructions en code machine.
  • Son contenu binaire est illisible pour une personne.
  • Un logiciel propriétaire est souvent distribué sans son code source.
  • Un logiciel libre ou à code source ouvert, comme Linux, fournit aussi son code source.
  • Le code exécuté permet au processeur de :
    • lire les données;
    • effectuer les calculs;
    • afficher les résultats.
Comment développer un programme

Java compile puis exécute le bytecode

right

Comment développer un programme

Un IDE réunit les outils de développement

Un environnement de développement intégré (Integrated Development Environment, IDE) permet notamment de :

  • modifier le code;
  • compiler;
  • exécuter;
  • déboguer.

Exemples :

Comment développer un programme

Activité : compiler et tester PlusPetit.java

  1. Télécharger PlusPetit.java depuis Moodle.
  2. Ouvrir l’interpréteur de ligne de commandes.
  3. Naviguer jusqu’au répertoire contenant le fichier.
  4. Compiler le code source :
javac PlusPetit.java
  1. Exécuter le programme :
java PlusPetit
  1. Effectuer plusieurs tests et comparer les résultats observés aux résultats attendus.
Comment développer un programme