Sujet 1 - Guillaume Rivière

Transcription

Sujet 1 - Guillaume Rivière
Page 1/6
Unité d’Enseignement en Informatique
Année 2010-2011 – Décembre 2010
2ième année ESTIA – CGP-MPA Apprentis
Examen de Système d’Information
(2h00, aucun document autorisé)
PARTIE 1 – Questions de cours
Exercice 1 : (7 pts)
Répondre directement sur la feuille au QCM proposé : mettre une croix pour la bonne réponse.
Exercice 2 : (1 pt)
Citez au moins 3 exemples d’informations qu’un SI peut gérer au sein de l’entreprise.
Exercice 3 : (1 pt)
Qu’y a-t-il à prendre en compte dans le coût d’un SI ?
PARTIE 2 : Implémentation
Le magasin d'un fabricant de pièces détachées est organisé de la manière suivant : les pièces sont
stockées dans des armoires (identifiées par un numéro), et les armoires sont organisées en rayons
(identifiés par une lettre). Les pièces sont identifiées par un type, une dimension, et un matériau de
fabrication. Pour gérer le stock du magasin de manière informatisée, un fichier informatique
centralise l'état du stock. Les lignes de ce fichier informatique sont formatées ainsi :
Rayon;Armoire;Type;Dimension;Matériau;Quantité;
Voici, par exemple, le début d'un tel fichier :
A;1;Vis;10;Inox;10000;
A;1;Vis;50;Inox;1000;
A;2;Vis;20;Inox;15000;
A;3;Ecrou;5;Inox;7500;
A;3;Vis;5;Inox;2500;
A;3;Boulon;5;Inox;5000;
A;3;Rondelle;5;Inox;7500;
B;1;Rondelle;8;Laiton;250;
B;1;Rondelle;10;Laiton;500;
B;1;Vis;10;Laiton;200;
B;2;Vis;10;Acier;3800;
B;2;Boulon;20;Acier;3200;
B;2;Ecrou;20;Acier;6000;
B;2;Rondelle;10;Acier;1000;
stock.txt
Les magasiniers doivent pouvoir répondre rapidement, quant à l'état des stocks, à n'importe quelle
demande sur un type de pièce particulier. Nous proposons de mettre en place cette fonctionnalité
ESTIA 2ième année – Epreuve d’Informatique – SI
- Guillaume Rivière -
CGP-MPA Estia 2009
Page 2/6
de recherche. A partir du nom et de la dimension de la pièce indiquée, le magasinier doit pouvoir
obtenir le nombre d'unités disponibles pour tel matériau, ainsi que l'armoire où elles sont
entreposées, et le rayon où se situe l'armoire.
Voici, par exemple, pour une requête concernant des vis de 10mm, ce qu’affiche le formulaire
recherche.html (à gauche) et le résultat calculé par reponses.php (à droite) :
Voici une partie du code du fichier reponses.php :
<html>
<head>
<title>R&eacute;ponses</title>
<style type="text/css">
table {border-collapse: collapse;}
td,th { border: solid 1px black; padding: 10px;}
h2 { font-family: sans-serif; }
</style>
</head>
<body>
<h1>R&eacute;ponses</h1>
<?php
$tab = Rechercher ('stock.txt', $_POST['piece'], $_POST['dimension']) ;
Afficher ($_POST['piece'], $_POST['dimension'], $tab) ;
?>
<p><a href="recherche.html">Nouvelle recherche</a></p>
</body>
</html>
ESTIA 2ième année – Epreuve d’Informatique – SI
- Guillaume Rivière -
CGP-MPA Estia 2009
Page 3/6
Exercice 4 : (4 pt)
Ecrire le code de la fonction "Rechercher" telle que :
/**
* Cette fonction cherche, dans un fichier décrivant l'état du stock,
* les pièces d'un certain type et d'une certaine dimension.
* La fonction retourne la lettre du rayon, le numéro de l'armoire,
* le matériau de la pièce, et le nombre d'unités pour chacune
* des pièces trouvées.
*
* ENTREE/ $fichier (string) : le nom du fichier décriant l'état du stock,
* ENTREE/ $piece (string) : le type des pièces recherchées,
* ENTREE/ $dimension (string) : la dimension des pièces recherchées,
*
* SORTIE/ (array[array[]]) : un tableau de tableaux, qui contient les
* informations sur chaque pièce trouvée, et où les informations
* sur une pièce trouvée sont décrites dans un tableau par
* [Rayon|Armoire|Materiau|Quantite].
*/
function Rechercher ($fichier, $piece, $dimension)
Note 1 : La fonction explode() permet de décomposer une chaîne de caractères dans un tableau.
/**
* La fonction explode segmente une chaîne en un ensemble de sous* chaînes, sous la forme d'un tableau.
* La segmentation se fait en définissant un séparateur.
*
* Exemple :
*
$liste = "tennis-badminton-pala-pelote-tennis de table-jokari";
*
$tableau = explode ("-", $liste);
*
=> $tableau [0] == tennis, $tableau [1] == badminton, ...
*
* ENTREE/ $separateur (string) : une chaîne de caractère définissant le
* séparateur
* ENTREE/ $chaine (string) : la chaîne de caractère à découper
* SORTIE/ (array[string]) : un tableau de chaîne de caractère
*/
function explode ($separateur, $chaine)
Note 2 : La fonction array() permet de créer un tableau.
$tab = array() ;
$tab[0] = array("A","1","Inox" ,"10000") ;
$tab[1] = array("B","1","Laiton","200") ;
$tab[2] = array("B","2","Acier","3800") ;
La case $tab[0][3] contient donc "10000".
ESTIA 2ième année – Epreuve d’Informatique – SI
- Guillaume Rivière -
CGP-MPA Estia 2009
Page 4/6
Exercice 5 : (4 pt)
Ecrire le code de la fonction "Afficher" telle que :
/**
* Cette fonction affiche les reponses concernant les résultats d'une
* recherche.
*
* ENTREE/ $piece (string) : le type des pièces recherchées,
* ENTREE/ $dimension (string) : la dimension des pièces recherchées,
* ENTREE/ $reponses (array[array[]]) : un tableau de tableaux, qui
* contient les informations sur chaque réponse, et où les informations sur
* une réponse sont décrites dans un tableau par
* Rayon|Armoire|Materiau|Quantite].
*/
function Afficher ($piece, $dimension, $reponses)
Note 3 : La fonction count() permet de compter le nombre d'éléments d'un tableau.
Par exemple, avec le tableau $tab de la Note 2, count($tab) retourne 3.
Exercice 6 : (3 pt)
Le formulaire recherche.html contient un formulaire permettant au magasinier de saisir les
champs de sa requête et d'appeler le script reponses.php.
Ecrire le code du fichier "recherche.html"
Note 4 : La balise select permet de créer une liste déroulante d'éléments (précisés par des
balises option). Grâce à l'attribut "name", elle peut être utilisée de même que la balise "input"
dans un formulaire.
<select name="liste_a_choix">
<option>Choix 1</option>
<option>Choix 2</option>
<option>Choix 3</option>
<option>Choix 4</option>
</select>
ESTIA 2ième année – Epreuve d’Informatique – SI
- Guillaume Rivière -
CGP-MPA Estia 2009
Page 5/6
QCM
NOM
Prénom
: ________________________
: ________________________
Règles pour la notation : On part de 0 point.
une réponse juste : positif / +1 point
une réponse fausse : négatif / -1 point
pas de réponse :
neutre / 0 point
Les scores négatifs seront ramenés à 0.
1) Une entreprise qui ne possède pas d’ordinateur ne peut pas posséder de SI :
a. □ Vrai
b. □ Faux
2) Qu’est-ce qu’un ERP ?
a. □ Un Environnement Robuste de Programmation
b. □ Un progiciel de gestion intégré
c. □ Un Réacteur Pressurisé Européen
3) Un bon SI cherche à favoriser :
a. □ la redondance de saisie des données
b. □ l’achat de logiciels propriétaires, plus sûrs
c. □ l’interconnexion des données et des processus pour une meilleure interopérabilité entre les
différentes applications du SI
4) Pour concevoir un SI, je fais des… :
b. □ diagrammes UML
a. □ lignes de code
c. □ diagrammes pieuvres
5) Dans une architecture client-serveur, on parle de niveaux d’abstraction. Combien en
définit-on ?
a. □ 3
b. □ 5
c. □ 8
5) Parmi ces 3 points forts, lequel attribue-t-on à une architecture 1 tiers répartie ?
a. □ Facilité de maintenance
b. □ Confidentialité des données
c. □ Ergonomie de l’IHM
6) Parmi ces 3 points faibles, lequel attribue-t-on à une architecture 1 tiers centralisée ?
a. □ Problème de confidentialité des données
b. □ Problème de saturation du réseau
c. □ Pauvreté de l’ergonomie de l’IHM
7) Avec lequel de ces langages développe-t-on des « clients lourds » ?
b. □ PHP
c. □ JAVA
a. □ XHTML
8) Quel protocole est utilisé par un « client léger » ?
a. □ SMTP
b. □ JAVA
c. □ RMI
9) PHP est un langage :
a. □ compilé
c. □ compilé puis interprété
d. □ HTTP
e. □ RPC
b. □ interprété
d. □ interprété puis compilé
ESTIA 2ième année – Epreuve d’Informatique – SI
- Guillaume Rivière -
CGP-MPA Estia 2009
Page 6/6
ESTIA 2ième année – Epreuve d’Informatique – SI
- Guillaume Rivière -
CGP-MPA Estia 2009