Gestion des systèmes d’information Partie C : Évolution du système d’information et développement des applications Christine Gaubert-Macon – Alain Van Sante
GSI : partie C La partie C s’intéresse à l’évolution du SI et AU développement des applications, support du SI : Cadre du développement Adaptation de l’application Intégration à l’organisation A situer par rapport au projet d’évolution du SI : une des dimensions du projet d’évolution du SI, c’est le projet technique de développement des applications. Car l’évolution du SI peut nécessiter l’évolution des applications existantes. Cadre du développement : le contexte de l’adaptation d’une application
GSI, partie C Des références Des principes Le cycle de vie d’une application Le découpage fonctionnel d’une application Des principes Pas d’activité de conception L’adaptation d’applications existantes Pas d’activité de conception, pas de référence à des modèles de conception type MEA Des modèles pour comprendre un existant : diag des flux, schéma relationnel, spécification de l’application sous forme de cas d’utilisation
Cycle de vie d’une application Spécifications Développement Exploitation Maintenance L’élève est mis d’abord dans une phase d’exploitation en se plaçant en position d’utilisateur de l’application puis en phase de maintenance : l’application démarre un deuxième cycle. Spéc. Dév. Maint. Expl.
Découpage fonctionnel d’une application INTERFACE HOMME-MACHINE Sub secundo(x As Integer) Dim cpt As Integer nb = tailleoral Dim rs As Recordset Dim trouve As Boolean Set dest = CurrentDb.OpenRecordset("temporal", 1) For cpt = 1 To nb Do While Not dest.EOF dest.Fields![jouro2] = x] Loop dest.MoveNext Next End Sub TRAITEMENT DONNEES IHM : présentation et gestion du dialogue
Cadre du développement Qu’est-ce qu’une application ? Un ensemble cohérent de programmes et de données chargé d’automatiser des traitements d’informations en respectant des règles de gestion. Des fonctionnalités : ensemble des tâches à réaliser Une application obéit à un cycle de vie Faire évoluer l’application, c’est d’abord formaliser les nouveaux besoins Cas d’utilisation Jeux d’essais La place des jeux d’essais dès la phase de spécification : pour que l’élève réfléchisse à ce qu’il doit obtenir indépendamment du comment.
Permet de spécifier le comportement attendu de l’application Cas d’utilisation Cas d’utilisation Etablissement d’un devis Acteurs : … Pré conditions : … Post conditions : … Scénario nominal … Extensions … Permet de spécifier le comportement attendu de l’application Un cas d’utilisation : un service rendu par l’application pour mettre en œuvre une fonctionnalité Cas d’utilisation Etablissement du devis Acteurs Acteur déclencheur : agent du service commercial Acteur secondaire : client. Pré conditions : L’agent s’est identifié pour accéder au menu de l’application. Post condition : Le devis est transmis au client Scénario 1- L’agent crée une feuille de calcul pour l’établissement du devis : le modèle de document devis est affiché. La date du jour est automatiquement affichée. 2- L’agent sélectionne le client dans la liste des clients. 3- L’application affiche les coordonnées du client sur la feuille de calcul. 4- L’agent sélectionne un produit choisi par le client. 5- L’application affiche le nom du produit et le prix dans la feuille de calcul 6- L’agent saisit la quantité désirée par le client. 7- L’application calcule le prix à payer pour le produit. 8- L’application calcule le prix total du devis. 9- L’agent itère les actions 3 à 6. 10- L’agent enregistre le devis sous un nom codifié. 11- L’agent imprime le devis. Extensions 1.1- Il s’agit d’un nouveau client, il saisit ses coordonnées : utilisation du cas « enregistrement d’un nouveau client ».
Adaptation de l’application : l’interface homme-machine Dialogue homme-machine Interface Gestion des événements Les activités Intervention sur l’ergonomie, Choix des contrôles graphiques, Comportement des contrôles graphiques. Programmation du comportement de l’interface Private Sub lancPlann_Click() Call megaplanning(Val(j.Value)) End Sub
Adaptation de l’application CREATE TABLE client ( codeClient bigint(20) NOT NULL default '0', nomClient varchar(100) NOT NULL default '', prenomClient varchar(100) default '', PRIMARY KEY (codeClient) ) CREATE TABLE devis ( numDevis int(10) unsigned NOT NULL auto_increment, CLIENT_numClient int(10) unsigned NOT NULL default '0', dateDevis date default NULL, etatDevis char(1) default NULL, PRIMARY KEY (numDevis), KEY DEVIS_FKIndex1 (CLIENT_numClient), CONSTRAINT `devis_ibfk_1` FOREIGN KEY (`CLIENT_numClient`) REFERENCES `client` (`numClient`) ) Exploitation des données Une base de données dont il faut comprendre la structure pour la faire évoluer et exploiter les données Sub ParcoursClient Dim statement as object Dim resultset as object ‘JEU ENREGISTREMENTS statement=connection.createStatement() resultset=statement.executeQuery("SELECT numClient,nomClient, prenomClient FROM Client") If Not IsNull(resultset) Then While resultset.next Exploiter les données, c’est accéder à la base de données depuis l’application Faire évoluer le schéma relationnel : étude des Df Procédure de visualisation de données Le recours aux instructions du langage pour accéder à la base de données
Adaptation de l’application : les traitements Programmation des traitements Les concepts algorithmiques vus à travers leur implémentation dans un langage de programmation Le recours à un environnement de développement et aux éléments de programmation qu’il fournit : fonctions, classes d’objets techniques. Référence à des « patrons » de programmation Mise à disposition de l’élève d’un ensemble d’algorithmes-type. Classes d’objets techniques : contrôles graphiques, accès aux sources de données, collections. Jamais l’élève ne définit des classes, il exploite des classes prédéfinies.
Programmation des traitements Un patron de programmation L’exemple du parcours d’un jeu d’enregistrements Dim statement as object Dim resultset as object statement=connection.createStatement() resultset=statement.executeQuery(" select * from client ") If Not IsNull(resultset) Then While resultset.next oListbox.additem(resultset.getString(2)) Wend End If Dim totCA as integer resultset=statement.executeQuery(" select * from commande ") totCA=0 totCA=totCA+resultset.getString(4) MsgBox totCA On montre ici des structures de contrôle, de données, des fonctions et des objets techniques. En rouge ce qu’on va plus particulièrement expliquer. On illustre un même algorithme-type : le parcours d’un jeu d’enregistrements. Des supports vont être produits dans ce domaine. Le quatrième champ de la ligne est le total de la commande
Programmation des traitements Définition du résultat à obtenir Expliciter les différents types de résultats attendus Identification des données nécessaires Structure de données à utiliser Modalités d’acquisition Attendu du traitement Logique générale du traitement Éléments du langage à mobiliser Existant à réutiliser Guidé par le scénario du cas d’utilisation les jeux d’essai les algorithmes-type mis à disposition Modalités de transmission à l’utilisateur : lien avec l’IHM DEFINITION DU RESULTAT A OBTENIR EXPLICITER # TYPES DE RESULTATS ATTENDUS 2) IDENTIFICATION DES DONNEES NECESSAIRES ET DES MODALITES D’ACQUISITION (lien avec l’IHM, la base de données) 3) CARACTERISATION DU TRAITEMENT - LOGIQUE GENERALE DU TRAITEMENT (COMMENT ON LA REPRESENTE) Éléments du langage à mobiliser : fonctions, classes d’objets techniques - EXISTANT A REUTILISER (PROGRAMME SOURCE) - …
Mise au point de l’application Recours aux outils de mise au point de programmes offerts par l’environnement de développement Barre d’outils pour la mise au point Point d’arrêt Observation de l’évolution de la valeur d’une variable lors de l’exécution du code
Intégration à l’organisation Mise en exploitation des applications - Définition des droits sur l’application Documentation de l’application Aide en ligne Documentation Spéc. Dév. Maint. Expl. Documentation du code source, rédaction ou enrichissement d’une documentation utilisateur ou technique. Oblige l’élève à adopter le point-de-vue de l’utilisateur, à communiquer : une autre façon d’appréhender le comportement d’une application.
Partie C On refait une itération ? Spécifications Développement Exploitation Maintenance Spéc. Dév. On refait une itération ? Maint. Expl.