PLAN CONDUITE DE PROJET - lionne.cnam.frlionne.cnam.fr/Cours/CPI/PlanCP.pdf · C. Crochepeyre Plan...

40
C. Crochepeyre Plan Conduite Projet 1 PLAN CONDUITE DE PROJET Ce guide complète le cours, il donne une marche à suivre qui peut être adaptée si vous choisissez une méthode particulière ETUDE PREALABLE ANALYSE FONCTIONNELLE ANALYSE DETAILLEE PROGRAMMATION TESTS UNITAIRES TESTS D ’INTEGRATION INSTALLATION EXPLOITATION

Transcript of PLAN CONDUITE DE PROJET - lionne.cnam.frlionne.cnam.fr/Cours/CPI/PlanCP.pdf · C. Crochepeyre Plan...

C. Crochepeyre Plan Conduite Projet 1

PLAN CONDUITE DE PROJET

Ce guide complète le cours, il donne une marche à suivre qui peut être adaptée si vous choisissez une méthode particulière

• ETUDE PREALABLE• ANALYSE FONCTIONNELLE • ANALYSE DETAILLEE• PROGRAMMATION• TESTS UNITAIRES• TESTS D ’INTEGRATION• INSTALLATION• EXPLOITATION

C. Crochepeyre Plan Conduite Projet 2

ETUDE PREALABLE1. Présentation de la société

– son nom– sa situation géographique– ses activités– ses services et responsables (organigramme)– ses effectifs– son importance…..Cette description permet de mieux prendre en compte l ’environnement du projet en terme de financement, sécurité, types et volumes des données…..

2. Présentation générale du projet– le sujet– les objectifs principaux– position du projet dans la société– les services et personnes concernés par le projet– les résultats attendusCette présentation donne un aperçu rapide du projet envisagé

C. Crochepeyre Plan Conduite Projet 3

3. L’organisation et le contrôle du déroulement du projet – nom et qualité des personnes impliquées dans l’étude préalable– leur rôle– leur responsabilité– les instances de contrôle du projet

4. Etude de l’existant– Fonctionnement actuel – informatisé, partiellement informatisé ou non

• description des diverses fonctions impliquées• les moyens actuels : ressources humaines et matérielles

– les dysfonctionnements– les améliorations attendues

Un projet n ’est envisagé que si il améliore l’existant ou vient combler un vide. L ’informatisation se justifie en terme de profit/ existant. Cette étape doit être faite avec sérieux en s’appuyant sur : Interviews des personnes impliquées (modes opératoires, dysfonctionnements, souhaits…). Récupération des documents et leur circulation. Avis des responsables….

C. Crochepeyre Plan Conduite Projet 4

5. Les besoins fonctionnels (le souhait du client)– descriptions des fonctions impliquées

• les règles de gestion• les données et leurs flux• les contraintes• les supports en E/S

– contraintes sur les fonctions– les personnes impliquées

6. Les contraintes non fonctionnelles– Matériels compatibles– Budget limité– E/S : formats préfixés, ergonomie– Délais : dates impératives– S.E existant– Logiciels : SGBD existant……

C. Crochepeyre Plan Conduite Projet 5

7. Les solutions– Architecture matérielle, applications, système (C/S) avec un schéma– coût– délais– évolutions possiblesSolution retenue et raisons de ce choix

8. Le coût de la solution– le coût du développement– les moyens humains

• internes• externes

– les moyens matériels et logiciels• existants et évolution• achats

– la formation– la reprise ou migration– le financement

C. Crochepeyre Plan Conduite Projet 6

9. Le planning– les contraintes organisationnelles– temps imparti aux différentes étapes du développement– les incidences en cas de dépassement

• phases critiques• Responsabilités

10. Le contrat– Rédaction d ’un contrat liant les deux parties

• le demandeur• le développeur

– Prévoir des clauses de non respect du contrat

C. Crochepeyre Plan Conduite Projet 7

ANALYSE INFORMATIQUE

• Conception informatique de la solution– Référence: l ’étude préalable

• prise en compte de la solution retenue• informatisation de cette solution

– L ’analyste doit:• organiser judicieusement les traitements• préciser les règles de gestion • décrire et organiser les données sur les supports informatiques

Pour cette phase, l’analyste doit trouver toutes les informations dans l ’étude préalable pour élaborer la solution informatique

C. Crochepeyre Plan Conduite Projet 8

1- IntroductionRéférence au document « Etude préalable »– Présentation rapide du sujet– Présentation de la solution retenue avec un schéma et quelques commentaires– Sommaire du document

Cette introduction fournit les éléments de base du problème à résoudre L ’analyste prend connaissance du sujet et sait où trouver l ’information

2- Architecture logiciellePrésentation globale des modules de l ’application

– éclatement en modules (programmes)– schéma de l ’enchaînement des modules avec E/S– explications et commentairesChaque élément doit porter une référence (modules, E/S)

Cette première représentation donne une vue globale de l ’application et de son découpage, des flux de données et des supports (B.D, fichiers, saisies, éditions..)

C. Crochepeyre Plan Conduite Projet 9

Application WXLFonction : gestion adhérents

Info AdhérentsEC_01

C,M,S Adhérents

IMP• adhérents créés• erreurs

MD_01

IMP_01

BD Tab_ADH

BDTab_ADH

F_01

Sur cet exemple simple: ensemble des modules et leurs enchaînementsDifférentes méthodes proposent leurs propres outils: actigrammes, datagrammes...

C. Crochepeyre Plan Conduite Projet 10

Application WXLFonction: gestion adhérents F_01

Descriptif fonction F_01:

Un module de 3 traitements :• création d ’un nouvel adhérent• modification de certaines informations /adhérent• suppression d ’un adhérent

• Exécution à la demande

• Module indépendant

• Une seul module permet à l’opérateur de choisir entre les 3 traitements ….

Un descriptif accompagne le diagramme comme l ’exemple ci-dessous

C. Crochepeyre Plan Conduite Projet 11

Exemple d’un schéma plus complexe

C. Crochepeyre Plan Conduite Projet 12

3- Analyse et organisation des donnéesOrganisation des données / à l ’enchaînement des modules

– choix du support: • fichiers • B.D sur disque • saisie au clavier, • affichage des résultats, • impressions….

– Organisation et volume des données sur ces supports• schéma relationnel de la B.D.• format des enregistrements par fichier• description des écrans de saisie ou d ’affichage• format des états d ’impression…..

Etape importante de la construction du catalogue des données

C. Crochepeyre Plan Conduite Projet 13

Quelques exemples de descriptifs des données

Fichier « Adhérents »volume: 1000 enregistrementslong enregistrement: 256 Oorganisation séquentielle

nom_adh

40 c

prenom_adh

30 c

num_adh

10 n

ad1_adh

20c

ad2_adh

20c

ad3_adh

20c

ville_adh

30 c

codeP_adh

5 n

Détails des champsnum_adh: numéro d ’adhérent

Ce n° est affecté automatiquement à la création10 car numérique

nom_adh: nom de l ’adhérentLe nom patronymique + éventuellement nom marital40 car

C. Crochepeyre Plan Conduite Projet 14

Cas d ’une Base de données

• Construire un schéma entités/relations

• Construire le schéma relationnel: définitions des tables

ID_ADH(num_adh, nom_adh, prenom_adh)

AD_ADH (num_adh, ad1_adh, ad2_adh,ad3_adh,ville_adh,codep_adh)

• Info sur chaque table, chaque champ

• …..

C. Crochepeyre Plan Conduite Projet 15

Cas d ’un écran de saisie

• Construire l ’écran en respectant les règles ergonomiques

• Nom: maxi 40 caractères

• Prénom: maxi 30 caractères

• n° adhérent: 10 numériques (calcul automatique)

création modif supp édition

GESTION ADHERENTSNom:Prénom:N° adhérent: (auto)…….

Réf: EC_01

C. Crochepeyre Plan Conduite Projet 16

4- Analyse des fonctions informatiques– Une fonction peut être:

• un seul programme• un enchaînement logique et indissociable de modules

– Pour chaque module on décrit:• les données en entrée• les données en sortie• les règles détaillées des traitements:

– la description des opérations à effectuer – leur séquencement– les conditions

C. Crochepeyre Plan Conduite Projet 17

FONCTION: Gestion Adhérents F_01 F_01

MD_01

EC_01

MD_02

adhérents

IMP_01

SCHEMA:

Client

Serveur

PRO_01

C. Crochepeyre Plan Conduite Projet 18

• F_01: Fonction de création, modification ou suppression des adhérents• Deux modules:

– MD_01 client : saisie des données client selon modèle écran EC_01– MD_02 serveur : maj des données et contrôles fichier « adhérents »

C. Crochepeyre Plan Conduite Projet 19

Module: Gestion Adhérents MD_01 F_01

MD_01Objet: Mise à jour du fichier « adhérents » en C,M,S - EditionFonctionnement: mode C/SEntréeChoix de la fonction création, modification ou suppression d’un adhérentLes saisies écran selon le format EC_01 sont contrôléesLes réponses du module MD_02 selon le protocole d’échange PRO_01Recommandations: …….TraitementsLes données saisies sont envoyées côté serveur au module MD_02 : Fichier « adhérents »

– en consultation pour vérification ou édition d’adhérent– en écriture pour maj ou création d ’un adhérent

Sortie• Vers MD_02 selon protocole PRO_01• Etat des adhérents IMP_01

– édition des adhérents à la demande

C. Crochepeyre Plan Conduite Projet 20

• Traitement création :– saisie du nom et prénom de l ’adhérent – appel module MD_02 contrôle existant dans fichier « adhérents »

• si oui affichage des infos existantes • choix: abandon création ou suite création

– saisie des autres champs validation– envoi vers module MD_02 pour création fichier « adhérents »– affichage retour MD_02 n°adhérent – etc…...

• Traitement modification:– …….

C. Crochepeyre Plan Conduite Projet 21

Module: Gestion Adhérents MD_02 F_01

MD_02Objet: Mise à jour du fichier « adhérents » en C,M,S - ConsultationFonctionnement: mode C/SEntréeDonnées émises depuis MD_01 : protocole d’échanges PRO_01Fichier « adhérents »: résultat de la consultation pour contrôle avant création ou éditionRecommandations: ……………………….TraitementsLes données sont traitées

– pour vérification adhérent en cas de création– pour modification d’un adhérent – pour édition d’adhérents

Sortie• Vers MD_01 selon protocole PRO_01• Vers Fichier « adhérents » : modification ou création

C. Crochepeyre Plan Conduite Projet 22

• Traitement création :– Module MD_02 contrôle existence dans fichier « adhérents »

• si non renvoi vers MD_01 erreur– Création d’un enregistrement dans fichier « adhérents »– Retour message « adhérent créé » à MD_01 selon protocole PRO_01– etc…...

• Traitement modification:– …….

C. Crochepeyre Plan Conduite Projet 23

FONCTION: Suivi des paiements adhérentsF_02 F_02

MD_03

MD_04

adhérents

IMP_02

SCHEMA:

Client

Serveur

EC_02

On poursuit cette analyse fonction par fonction , module par module…..

compta

C. Crochepeyre Plan Conduite Projet 24

• Chaque fonction doit bien sûr être décrite, module par module. Ne pas s’en tenir à cet exemple simplifié mais entrer dans le détail des descriptions fonctionnelles!

• Les solutions techniques niveau programmation (exemple échange client/serveur par sockets udp….) se font à l’étape suivante « analyse détaillée »

• Adopter une charte de présentation de cette analyse informatique: n° cohérente des fonctions et modules, même plan pour chaque description….

C. Crochepeyre Plan Conduite Projet 25

• Conclusion analyse informatique

Important:• chaque étape doit être commentée : recommandations, contraintes,

accent donné sur un point précis, localisation des informations…• le document est structuré en vue d ’être exploité lors de la phase

suivante par plusieurs développeurs• Les descriptifs des données sont séparés des fonctions (évite les

répétitions)• Une table des matières complète et précise

Une bonne analyse informatique doit permettre ensuite à chaque développeur de détailler la partie qui lui est confiée avant de programmer

C. Crochepeyre Plan Conduite Projet 26

• Analyse des solutions techniques de programmation– Référence: l’analyse informatique

• passage des spécifications informatiques à la solution technique informatique

– L’analyste-programmeur • se voit attribuer une ou plusieurs fonctions • pour chaque module:

– il choisit les solutions techniques – décrit l’enchaînement des opérations

• avant de passer à la programmation

Cette étape décrit pour chaque module la manière dont seront réalisés les traitements lors de la programmation

ANALYSE DETAILLEE

C. Crochepeyre Plan Conduite Projet 27

• Quelques exemples:

– choix du langage de programmation pour un module– solution technique d’un échange C/S

• ex: socket mode udp ou tcp? – communication entre deux modules internes

• ex: échanges par messages ou tubes?– choix d’un algorithme pour un traitement

• ex: recherche par dichotomie ou séquentielle?– mode d’accès B.D

• ex: analyse d’une requête SQL pour un cas complexe– détails des procédures d’erreurs

• ex: un adhérent est déjà créé : message mais aussi édition pour vérification

C. Crochepeyre Plan Conduite Projet 28

1. Introduction

– Présentation de la fonction et de ses modules• situation de la fonction et de ses modules sur l’organigramme

général• description rapide des objectifs de cette partie

– Présentation des intervenants dans cette partie• les noms, coordonnées, rôles

– Référence à l’analyse fonctionnelle

L’introduction permet de se situer par rapport à l’application.Penser à utiliser les mêmes références que l ’analyse informatique : n° fonctions …L’analyste programmeur est choisi en fonction de ses compétences

C. Crochepeyre Plan Conduite Projet 29

2. Analyse d’un module– On procédera de la même manière que lors de la présentation des

modules dans l’analyse informatique en utilisant:• organigrammes• algorithmes• commentaires• descriptions de procédures….

C. Crochepeyre Plan Conduite Projet 30

Suivi des paiements/ClientMD_03

FONCTION: Suivi des paiements adhérentsF_02

F_02MD_03

MD_03

MD_04

adhérents

IMP_02

SCHEMA:

Client

Serveur

EC_02

On situe le module concerné / la fonction

compta

C. Crochepeyre Plan Conduite Projet 31

• Module de saisie des éléments adhérents pour – Enregistrement des paiements– Relance des impayés– Etat des paiements

• Module exécuté à la demande• Ce module ne peut fonctionner sans le module MD_04

F_02MD_03

C. Crochepeyre Plan Conduite Projet 32

Objet: 3 fonctions- Saisie des éléments paiement- Relance des impayés- Etat des paiementsFonctionnement: module clientCommunication C/S: Protocole TCP/IP spécifié ci dessous PRO_01EntréeChoix de la fonction EC_02- Si paiement alors saisie EC_03- Si relance alors saisie EC_04- Si impayé alors saisie EC_05

TraitementsDescriptions ci dessous écran par écranSortie• Vers MD_04 selon protocole PRO_01• Vers Fichier « adhérents » : maj des zones……….

F_02MD_03

Module: Suivi des paiements/Client MD_03

C. Crochepeyre Plan Conduite Projet 33

• Organigramme

Choix: Paiement : PRelance: REtat: E

F_02MD_03

Début

Si PO

N

Si R

N

O

Si E

N

O

Erreur saisie

A1

A1

C1

B1

D1

A

C. Crochepeyre Plan Conduite Projet 34

• Conclusion analyse détaillée

– Lors de cette étape, le programmeur prend connaissance des traitements– L’analyse détaillée se fait module par module

• utilisation d’organigrammes, d’algorithmes, pseudo codes…• pour des cas simples quelques indications suffisent

– L’analyste programmeur choisit les techniques de programmation appropriées

– Les documents produits sont souvent associés aux listings de programmation

Cette étape évite de se lancer dans la programmation sans réflexion préalableAttention: l’analyste programmeur doit prendre le temps de rédiger ce document même si il est seul responsable du développement. (maintenance future, échanges avec d’autres….)

C. Crochepeyre Plan Conduite Projet 35

PROGRAMMATION

• Phase de programmation de chaque module– référence: analyse détaillée – élaboration des programmes: différents langages si nécessaire– documents: listings commentés– l’analyste programmeur pourra joindre l’étude détaillée à chaque listing– les références seront mentionnées sur les listings en commentaires

La phase de programmation doit être supervisée par l’analyste qui s’assure que le produit fini correspond bien à l’analyse

C. Crochepeyre Plan Conduite Projet 36

TESTS UNITAIRES

• Phase de tests des programmes– création d’un jeu de tests pour chaque programme

• Document par module :– Fournir une trace des exécutions de chaque cas pris en considération

• données en entrée• résultats obtenus

– Y ajouter les commentaires nécessaires

C’est à travers les jeux de tests que l’analyste peut vérifier– que tous les cas ont bien été pris en considération lors de la programmation– que la programmation produit les bons résultats

C. Crochepeyre Plan Conduite Projet 37

• Les documents peuvent être regroupés par module– analyse détaillée module MD_03– listings module MD_03– tests unitaires MD_03

• Les documents peuvent être regroupés par niveau d’analyse– analyses détaillées des modules– listings des modules– tests unitaires des modules

Attention d’adopter la même présentation pour l’ensemble des documents

C. Crochepeyre Plan Conduite Projet 38

TESTS D’INTEGRATION

• Les différents modules sont exécutés selon l’enchaînement prévu• Les jeux de tests sont construits pour vérifier le bon fonctionnement entre les

modules avec l’aide de l’usager final• La présentation est identique aux tests unitaires

– Description des modules concernés– Données en entrée– Résultats obtenus

Dernière phase de production qui permet de vérifier que le produit correspond à la demande et qu’il fonctionne bien sur le site avec les configurations prévues.

C. Crochepeyre Plan Conduite Projet 39

INSTALLATION

• Mode opératoire d’installation du produit• Destiné au client• Document décrivant:

– Les configurations requises– Les supports de livraison– Les procédures d’installation des programmes– Les paramétrages– Les procédures en cas d’erreurs– Les procédures de lancement– …….

Document qui n’est utilisé que lors de la livraison du produit ou lors d’une réinstallation

C. Crochepeyre Plan Conduite Projet 40

EXPLOITATION

• Procédures d’utilisation du logiciel• Document destiné au client• Pour chaque fonction un manuel d’utilisation:

– Périodicité– La référence du logiciel– Procédure de lancement– Les interventions en cours d’exécution– Les messages d’erreurs et actions correspondantes– Les procédures d’arrêt– Les procédures de sauvegarde…..

Ce document est utilisé par le client tout au long de la vie du produit