Langage, programme, test et mise au point - Spé Systèmes d'Information de Gestion - Terminale STMG

Langage, programme, test et mise au point - Spé Systèmes d'Information de Gestion - Terminale STMG

Nous vous proposons ce cours de Spécialité Systèmes d'Information de Gestion de Terminale STMG, rédigé par notre professeur, sur "Langage, programme, test et mise au point", 4ème partie issue du chapitre "La résolution de tous les problèmes de gestion est-elle automatisable ?".

La première partie "Langage et programme" est composé de deux parties : connexion à la base de données et exécution d'une requête SQL. La seconde partie de ce cours est donc consacrée à "Test et mise au point", puis vous verrez un rappel des principales requêtes.

Téléchargez gratuitement ci-dessous ce cours de Spé SIG de Terminale STMG sur la partie "Langage, programme, test et mise au point" issue du chapitre "La résolution de tous les problèmes de gestion est-ele automatisable ?"

Document rédigé par un prof Langage, programme, test et mise au point - Spé Systèmes d'Information de Gestion - Terminale STMG

Le contenu du document

 

La phase de test et de mise au point d’un programme consiste à s’assurer à l’aide de jeux d’essai qu’il répond aux besoins exprimés en transformant les données fournies en résultats conformément aux règles de gestion du problème à résoudre.

 

Langage, programme

Les données d’un programme ne sont pas persistantes puisque toutes les variables sont effacées de la mémoire en fin d’exécution du programme. Les données à conserver sont souvent enregistrées dans des bases de données, auxquelles les programmes peuvent avoir accès (selon les droits qui auront été accordés par l’administrateur de la base) : il s’agit de données appelées (pour éviter d’avoir à les ressaisir) ou produites par les programmes.

 

Connexion à la base de données

La partie « données » est souvent gérée de manière indépendante de la partie traitement : le programme doit donc se connecter à un SGBDR qui gère la base de données (il peut y en avoir plusieurs).

Avant de se connecter à une base de données, il faut d’abord se connecter au SGBDR du serveur qui l’héberge : par exemple s’il s’agit d’un serveur MySQL : 

$cxServeur =mysql_connect($IPserveurMySQL,$nomUtilisateurMySQL,$motPasseUtilisateurMySQL) ;

 

Si le serveur MySQL est exécuté par la même machine que le serveur xeb, $IPserveurMySQL prendra la valeur « localhost » ou 127 .0.0.1 (adresse IP de boucle locale).

Si la connexion réussit, la variable $cxserveur reçoit un identifiant de session ouverte avec le serveur MySQL, sinon elle reçoit False.


 

La connexion à la base de données se réalise ensuite en reprenant cet identifiant : 

$cxBase = mysql_select_db($nomBase,$cxServeur) ;

 

On gagnera à inclure ces instructions de connexion dans un fichier spécifique (et protégé) que pourront appeler tous les programme ayant recours à la base de données (ainsi si les paramètres de connexion changent, il n’y aura que ce seul fichier à mettre à jour).

On notera que la connexion (non persistante) avec la base de données se fermera automatiquement en fin de script.

 

Exécution d’une requête SQL

Le langage de communication avec les bases de données relationnelles est la SQL. Le langage de programmation PHP peut envoyer au SGBDR des requêtes SQL pour en demander l’exécution et en récupérer le résultat : 

$resultat = mysql_query ($query) ;

 

$query contient une chaine de caractères (entre guillemets) correspondant à une requête SQL.

Nous distinguerons deux types de requêtes selon la nature du résultat retourné : 

 

Les requêtes qui agissent sur la structure (CREATE, ALTER, DROP) ou sur le contenu (INSERT INTO, UPDATE, DELETE) de la base de données  : 

  • leur résultat est soit un échec pour cause d’erreur de syntaxe ou d’opération non autorisée ($resultat reçoit la valeur False), 
  • soit un succès ($résultat reçoit la valeur True)

 

Mysql_affected_rows()

Elle retourne le nombre d’enregistrements modifiés par cette requête (la dernière exécutée) pour une requête INSERT INTO, UPDATE, DELETE

Mysql_insert_id()

Elle retourne la valeur du dernier identifiant auto-incrémenté par une requête INSERT INTO

 

Les requêtes qui interrogent la base (SELECT) ; 

  • leur résultat est soit un échec pour cause d’erreur de syntaxe ou d’opération non autorisée ($resultat reçoit la valeur False), 
  • soit un succès et $resultat reçoit le jeu d’enregistrements retourné par le SGBDR stocké dans une liste.

 

Pour une requête qui s’exécute bien mais qui n’a pas de résultat (en raison des restrictions). $resultat n’est pas False, il y a bien un jeu d’enregistrements retourné mais il est vide (O enregistrement) ! 

 

Mysql_num_rows($resultat)

Elle retourne le nombre entier d’enregistrements contenu dans $resultat

 

Un enregistrement est une « ligne » comportant des valeurs pour un à plusieurs attributs (ceux projetés dans l’ordre SELECT). Un jeu d’enregistrements est un ensemble d’enregistrements (dans l’ordre éventuellement précisé par la clause ORDER BY).

 

Lecture séquentielle d’un jeu d’enregistrements ou d’une liste

Les enregistrements d’un jeu d’enregistrements (ou liste) sont accessibles séparément grâce aux fonctions : 

mysql_fetch_assoc  

ou  

mysql_fetch_array 

Elles renvoient un enregistrement dans une variable de type tableau.

Pour traiter tous les enregistrements d’un jeu d’enregistrements, on procède généralement à une lecture séquentielle (du premier au dernier) à l’aide d’une structure itérative (« jusqu’à ce qu’il n’y ait plus d’enregistrement à lire dans le jeu d’enregistrements « ) : 

$enreg = mysql_fetch_array($resultat) ; // affectation à $enreg du premier enregistrement du jeu d’enregistrement $resultat

While($enreg !=False)

{

//action(s)

$enreg=mysql_fetch_array($resultat), // lecture de l’enregistrement suivant, si on  était au dernier $enreg reçoit la valeur False

}

La valeur de chaque attribut de l’enregistrement au cours de lecture est ainsi accessible : $enreg[‘libAttribut’]

 

Test et mise au point

Test et mise au point d’un programme ont pour objectif de livrer à l’utilisateur un programme répondant au problème à traiter. 

On distingue : 

  • l’étude et l’utilisation d’une fonction retournant le minimum de deux valeurs pour la construction d’une fonction retournant le minimum de trois valeurs
  • les notions de test unitaire (vérification de la conformité d’une fonction à son contrat) 
  • et de test d’intégration (vérification que toutes les parties développées séparément fonctionnent ensemble conformément au cahier des charges).

 

Pour la mise en œuvre d’une base de données il importe de choisir le SGBDR et le langage appropriés. Les fonctions de chaque SGBDR permettent de réaliser des requêtes plus ou moins adaptées à ce que l’on souhaite.

Exemple de SGBDR : 

 

Rappel des principales requêtes

liste principales requêtes - Cours Spé SIG Terminale STMG

Fin de l'extrait

Vous devez être connecté pour pouvoir lire la suite

Télécharger ce document gratuitement

Donne ton avis !

Rédige ton avis

Votre commentaire est en attente de validation. Il s'affichera dès qu'un membre de Bac STMG le validera.
Attention, les commentaires doivent avoir un minimum de 50 caractères !
Vous devez donner une note pour valider votre avis.

Nos infos récentes du Bac STMG

Communauté au top !

Vous devez être membre de digiSchool bac STMG

Pas encore inscrit ?

Ou identifiez-vous :

Mot de passe oublié ?