Licence Informatique Marisela Hernandez. marisela.hernandez@u-picardie.fr. Marisela Hernandez 1

Documents pareils
Introduction au génie logiciel

Processus d Informatisation

Un logiciel pour aller plus loin dans la gestion de vos espaces. Mémo technique

Programmation sous QT

Le génie logiciel. maintenance de logiciels.

Plateforme de capture et d analyse de sites Web AspirWeb

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Messagerie & Groupeware. augmentez l expertise de votre capital humain

PROCÉDURE ÉLECTRONIQUE DE REMISE DE NOTES

Réduire ses coûts d exploitation avec une solution de gestion des outputs et des impressions

«Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de

CAISSE. Ce logiciel nécessite une licence pour fonctionner.

Brique BDL Gestion de Projet Logiciel

La Certification de la Sécurité des Automatismes de METEOR

ADMINISTRATEUR WINTEL Dominique MAHIEU 35 ans WINDOWS 2008/2003, ACTIVE DIRECTORY, EXCHANGE, CITRIX, VMWARE

Manuel logiciel client Java

Vérifier la qualité de vos applications logicielle de manière continue

UE Programmation Impérative Licence 2ème Année

SOUTIEN INFORMATIQUE DEP 5229

Annexe : La Programmation Informatique

Architecture des ordinateurs. Environnement Windows : sauvegarde

MIGRATION DE THUNDERBIRD VERS OUTLOOK mardi 16 octobre 2012

Application 1- VBA : Test de comportements d'investissements

TP4 : Installer configurer un contrôleur de domaine

CAPTURE DES PROFESSIONNELS

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

2. Activités et Modèles de développement en Génie Logiciel

Traçabilité Du besoin à la mise en oeuvre

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

ANNEXES. Evaluation de la formation à Polytech Lille Département GIS. Enseignements les plus utiles. Enseignements à renforcer

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

ES Enterprise Solutions

Dématérialisation et travail collaboratif

Bulletin de Réservation Marina di Favone Favone - tél contact@marinadifavone.com

Gestion de projets. avec. Microsoft Office PROJECT 2003

L externalisation de vos logiciels entreprises : une solution aux problèmes de coûts, de sécurités et de réactivités

INDUSTRIALISATION ET RATIONALISATION

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

IV- Comment fonctionne un ordinateur?

LICENCE PROFESSIONNELLE. Systèmes informatiques et logiciels

Premier trimestre 2010 : un bon début d année pour Bull

RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE)

Mise à jour n 17 : Nouveautés

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Plan du cours. Historique du langage Nouveautés de Java 7

Projet : Réalisation d une base de. données. Sujet : Gestion des ressources humaines. Logiciel : Microsoft Access

... Cahier des charges Site Internet Office de Tourisme Lesneven - Côte des Légendes MAITRE D OUVRAGE

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

Guide d aide à la réservation par internet

Éléments de programmation et introduction à Java

Analyse,, Conception des Systèmes Informatiques

PUISSANCE ET SIMPLICITE. Business Suite

SOFI Gestion+ Version 5.4. Echanges de données informatiques Spicers Sofi gestion+ Groupements. SOFI Informatique. Actualisé le

Cours Informatique 1. Monsieur SADOUNI Salheddine

Communiqué de Lancement

Génie logiciel (Un aperçu)

M A N U E L D U T I L I S AT I O N A P P L I C AT I O N B O U R S E D E L E M P L O I

TERMES DE RÉFÉRENCE RELATIFS A LA «FORMATION PROFESSIONNELLE EN ORACLE»

Systèmes intelligents pour le commerce de détail. Plateforme Windows Embedded

Associer la puissance des nouvelles technologies tout en préservant l environnement

Février Novanet-IS. Suite progicielle WEB pour l Assurance. Description fonctionnelle

LICENCE : INFORMATIQUE GENERALE

Évaluation et implémentation des langages

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE LA CULTURE. «Constantine, capitale de la culture islamique 2015»

Demande de transformation de la formation qualifiante TEMIR : Technicien En Maintenance Informatique et Réseaux en diplôme d université (DU)

Architecture matérielle des systèmes informatiques

UE C avancé cours 1: introduction et révisions

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

Machines virtuelles Cours 1 : Introduction

Solution d intelligence marketing et CRM

Conception, architecture et urbanisation des systèmes d information

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

Algorithmique avec Algobox

MATHEMATIQUES ET SCIENCES POUR L INGENIEUR

Mode d Emploi. Résult Arc Logiciel de Gestion de Compétitions. Droits d utilisation Informations Générales. 1/. Présentation de Résult Arc

TD séance n 2c Mise à jour des Systèmes

Baccalauréat technologique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Série Z, fonds hors format

Logiciel photothèque professionnel GUIDE D UTILISATION - 1 -

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Agile 360 Product Owner Scrum Master

Avantic Software Présentation de solutions GED pour mobiles (Gestion Electronique de Documents)

Tableau Online Sécurité dans le cloud

TUTORIEL Qualit Eval. Introduction :

A1 GESTION DE LA RELATION AVEC LA CLIENTELE

Fabien Pinckaers Geoff Gardiner. OpenERP. Tiny. Pour une. gestion d entreprise efficace et intégrée. Groupe Eyrolles, 2008, ISBN :

ERP5. Gestion des Services Techniques des Collectivités Locales

DIPLOME UNIVERSITAIRE DE TECHNOLOGIE, SPÉCIALITÉ GESTION LOGISTIQUE ET TRANSPORT

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Logiciel SuiviProspect Version Utilisateur

Transcription:

Licence Informatique Marisela Hernandez marisela.hernandez@u-picardie.fr Marisela Hernandez 1

Présentation de la 1ere partie du module d A/E Description breve: Les premieres phases de la mise en oeuvre d un logiciel Objetif: Savoir analyser et concevoir un logiciel Moyens: 3 cours TDs avant la semaine de partiels Evaluation: Mini-projet noté Marisela Hernandez 2

Programme du module Cycle de développement d un logiciel Expression de besoins du logiciel Conception générale du logiciel L analyse descendente Conception détaillée du logiciel Programmation (Codage et tests unitaires) Intégration de modules Essais Validation Marisela Hernandez 3

Programme du module Maintenance Structuration d un logiciel pour la programmation structurée Etude de cas La documentation Étude de la méthode MERISE (2 e partie) Marisela Hernandez 4

Bibliographie Alfred Strohmeier. Génie Logiciel: principes, méthodes et techniques. Presses polytechniques Romandes.1997. Gaudel, Marre, Bernot, Schelienger. Précis de Génie Logiciel. Masson.1996. J.P. Laurent Initiation à l Analyse et à la Programmation. Dunod. 1985. Jacques Printz Le Génie Logiciel. Que sais-je? 1995 Marisela Hernandez 5

Introduction Qu est ce qu un Logiciel? C est un ensemble de programmes et de procédures nécessaires au fonctionnement d un système informatique. Qu est ce qu un Programme? C est un ensemble d instructions, rédigé dans un langage de programmation, permettant à un système informatique d exécuter une tâche donnée. Marisela Hernandez 6

Exemples de logiciels Système qui gère la gestion du personnel d une entreprise Système de gestion de location de voitures Les traitements de texte (WORD par exemple) Gestion de réservations de vols Le système SOCRATE de la SNCF Traitement d images (Photoshop) Gestion d une banque Marisela Hernandez 7

Exemples de programmes Programme C pour trier un tableau avec la méthode dichotomique Programme Java pour calculer une valeur particulière de la suite de Fibonacci Fonction Java pour calculer le volume d une sphère Fonction C pour calculer le nombre d éléments d une liste chainée Marisela Hernandez 8

Developpement du logiciel Comparé aux autre produits, le logiciel présente quelques, particularités: le problème de production en série ne se pose pas. Le logiciel est produit unique fait avec un procédé de production ou un processus de développement. Marisela Hernandez 9

Developpement du logiciel il fait une large place à l'analyse des besoins, à la conception et à la validation ; il s'opère par raffinements successifs la partie technique du développement d'un logiciel consiste en l'établissement d'une suite de descriptions de plus en plus proches d'un programme exécutable et sa documentation Marisela Hernandez 10

Processus de developpement certaines étapes peuvent déclencher la révision des étapes précédentes : un manque de précision des spécifications peut être détecté lors de la conception. Une erreur de conception peut ne paraître que lors du test du logiciel. Marisela Hernandez 11

Developpement du logiciel pour pallier au problème de l'invisibilité, il donne lieu à la production de documents intermédiaires permettant de contrôler un logiciel en cours de développement ; la plupart du temps il est poursuivi après la livraison du logiciel, Marisela Hernandez 12

Developpement du logiciel pour la maintenance qui peut remettre en cause les fonctions du système et impliquer des modifications et un redéveloppement L'ensemble des phases par lesquelles passe le logiciel s'appelle le cycle de vie. Marisela Hernandez 13

L Analyse Système Un logiciel n'est que l'un des composants d'un système plus vaste. C'est l'analyse système qui détermine le rôle du logiciel, le mode d'interaction du logiciel avec son environnement (= les autres composants). Etude des besoins, d'opportunité, d'impact, coût/bénéfice, de faisabilité Marisela Hernandez 14

Étude de cas 1 "Resumix : Traitement de CVs " L'entreprise "Resumix" propose ses services de traitement automatisé et en masse des CVs de postulants. Quelles sont les technologies utilisées pour réaliser cette automatisation? Scanner pour obtenir une image numérique à partir du CV numérisé Logiciel de recognition de caractère pour transformer l'image en texte Logiciel d'analyse de texte pour l'extraction d'information et de mots clés, Ce logiciel utilise une base de connaissance pour "comprendre" et extraire des éléments de connaissance depuis les texte, Base de données pour le stockage des information obtenus, Interface graphique pour l'interrogation et la manipulation de la base de données. Marisela Hernandez 15

Étude de cas 1 Objetifs de Resumix nombre de CVs traités (c.à.d acceptés ou rejetés) ventilé sur le temps (par jour, par semaine, par mois, par an); nombre de CVs ayant donnée lieu à des embauches ventilées sur le temps (trimestre, année), sur les secteurs d'activités (bâtiments, informatique, pharmacie,.. ) sur le type de poste (ingénieur, manager, dirigeant, chef de projet, expert,...) taux de turnover (c.à.d changement d'emploi) pour les personnes embauchés par Résumix, ventilé sur le temps, les secteurs d'activités,... Marisela Hernandez 16

Étude de cas 2 Bibliothèque Universitaire Gestion d utilisateurs (étudiants, enseignants, employés) Gestion de prêts Gestion d acquisitions (livres, revues, journaux) Gestion de personnels de la Bibliothèque Gestion du budget Logiciel de recherche de publications (livres, revues, journaux) Marisela Hernandez 17

Étude de cas 3 Gestion d un bureau de location pour plusieurs stations touristiques. Différents prestataires offrent des locations. Ils peuvent les retirer tant qu aucune réservation définitive n est réalisée. Ils touchent 90% du prix de la location. Les clients adressent des demandes de renseignement. Le bureau y répond par des propositions de location et d assurance annulation ou une mise en attente. Marisela Hernandez 18

Étude de cas 3 Gestion d un bureau de location pour plusieurs stations touristiques. Le client peut alors refuser ou demander une réservation en envoyant des arrhes et en souscrivant éventuellement l assurance annulation. Si la location choisie est encore libre, elle est réservée, sinon la demande est mise en attente. Après un délai de 8 jours, la réservation est confirmée de manière définitive. En cas d annulation après ces 8 jours, un pourcentage est dû par le client sauf s il a souscrit l assurance annulation. L annulation en cas de mise en liste d attente est toujours possible sans frais. La facture est envoyée avant le début du séjour. Un rappel suit en cas de non paiement. En cas de nouveau défaut de paiement le dossier est transmis au contentieux. Marisela Hernandez 19

Étude de cas 3 Marisela Hernandez 20

Objéctif actuel La stratégie ancienne "code and fix" (coder et fixer) activité non pilotée, au résultat totalement aléatoire. L'objectif actuel passer au stade industriel, en terme de maîtrise de : la qualité l'efficacité (maîtrise des coûts et délais) Marisela Hernandez 21

But d un logiciel Le but du développement d un logiciel est de développer des logiciels de qualité. Exemple de critères de qualité : - Exactitude : aptitude d un logiciel à fournir des résultats voulus dans les conditions normales d utilisation. C est le critère le plus important. C est la base de l informatique : on souhaite développer des logiciels qui répondent aux besoins des utilisateurs. - Robustesse : Aptitude à bien réagir lorsque l on s écarte des conditions normales d utilisation - Extensibilité : Facilité avec laquelle un programme pourra être adapté pour faire face à une évolution des besoins des utilisateurs Marisela Hernandez 22

But d un logiciel Exemple de critères de qualité : - Réutilisabilité : Possibilité d utiliser certaines parties du logiciel pour développer un autre logiciel répondants à d autres besoins - Portabilité : facilité avec laquelle on peut exploiter un logiciel sous différents systèmes d exploitation (Linux ou windows XP ou MAC-OS ) - Efficacité : temps d exécution, taille mémoire, Marisela Hernandez 23

Critères de qualité La prise en compte de ces critères de qualité dans la réalisation d'un logiciel implique: un temps important de développement (plusieurs hommes sur plusieurs années) et une méthode de développement Il n est donc pas possible de se lancer dans la programmation tout de suite même lorsque le logiciel ne comporte qu un seul programme de petite envergure. (objetif de la matière Analyse et Etude de cas) Réfléchissez d'abord, vous programmerez plus tard. Proverbe de H.F. Ledgard Marisela Hernandez 24

Dans le module Analyse et Étude de cas Nous ne nous intéressons pas au programme Ce n est pas un cours de programmation Pas de programmation Marisela Hernandez 25

Méthode classique de développement de logiciels Dans le cheminement de la pensée qui va de la naissance d un projet informatique jusqu à son terme on distingue trois grandes étapes : - La première prend la décision de développer un logiciel ou non au sein de l entreprise. - La seconde est l élaboration proprement dite du logiciel. - la troisième est la phase de maintenance du logiciel construit. Marisela Hernandez 26

Méthode classique de développement de logiciels Ces activités sont mises en œuvre suivant des stratégies diverses et parfois complexes requérant des compétences variées dans de nombreux domaines de l informatique. Génie logiciel (Software Engineering) Marisela Hernandez 27

Génie logiciel Génie Logiciel = (Software Engineering) = Science de l'ingénierie du logiciel «l application pratique de la connaissance scientifique dans la conception et l élaboration de programmes informatiques et de la documentation associée nécessaire pour les développer, les mettre en œuvre et les maintenir» (B. W. Boehm, 1976) Marisela Hernandez 28

Génie logiciel Génie Logiciel = (Software Engineering) = Science de l'ingénierie du logiciel «Activités de conception et de mise en œuvre des produits et des procédures tendant à rationaliser la production du logiciel et son suivi» (Arrêté ministériel du 30-12-83) Marisela Hernandez 29

Cycle de vie du logiciel Le développement d un logiciel se fait suivant un cycle appelé cycle de vie du logiciel. Le cycle de vie est décomposé en phases de développement Ces phases sont échelonnées dans le temps. Une phase se termine par la remise d un (ou plusieurs) document(s). Marisela Hernandez 30

Cycle de vie du logiciel Phases de développement : - Spécification des besoins (15% du temps) - Conception générale (10% du temps) - Conception détaillée (25% du temps) - Codage et Tests unitaires (15% du temps) - Tests des modules (5% du temps) - Intégration du logiciel (20% du temps) - Validation (10% du temps) Marisela Hernandez 31

Spécifications des besoins But: éviter de développer un logiciel non adéquat Données: sont fournies par des experts du domaine d application et par les futures utilisateurs Résultat: ensemble de documents décrivant les aspects pertinents de l environnement du futur système, son rôle et sa future utilisation L analyse des besoins est l activité essentielle au début du processus de développement. Elle est menée avec les études de faisabilité et la planification Marisela Hernandez 32

Spécifications des besoins Il est indispensable de déterminer les besoins du logiciel pendant la première phase. Les besoins peuvent se traduire sous plusieurs formes : - des spécifications générales, - des spécifications fonctionnelles, - des spécifications d interface. Marisela Hernandez 33

Spécifications des besoins Les spécifications générales sont un ensemble d objectifs, de contraintes (utilisation de matériels et outils existants) et de généralités qu il faudra respecter au cours du développement. Les spécifications fonctionnelles sont la description des fonctionnalités du logiciel de manière aussi détaillée que nécessaire. Les spécifications d interface sont la description des interfaces du logiciel avec le monde extérieure (utilisateurs, autres logiciels, matériels ) de manière aussi détaillée que nécessaire. Marisela Hernandez 34

Spécifications fonctionnelles des besoins Les spécifications fonctionnelles des besoins servent à définir ce que doit faire le logiciel et non comment il est fait. Ceci est décrit dans le document de spécification des besoins. Les besoins existants Spécifications des besoins du logiciel Le but de la première phase de développement est de spécifier les besoins du logiciel à partir des besoins existants. Marisela Hernandez 35

Exemple: Besoins du Gestionnaire journalier du temps Planification des RDV pour chaque jour Voir les RDV planifiés, possibilité de modification, annulation ou ajout d un nouveau RDV Pour chaque RDV stocker l heure, la durée, les intervenants, le lieu, Stocker des fiches pour chaque contact Séparer les contacts professionnels, personnels et des institutions administratives Marisela Hernandez 36

Exemple: Besoins du Gestionnaire journalier du temps Fenêtres pour visualiser les RDV par jour, par semaine, par mois Créer un répertoire pour stocker les contacts Création d un calendrier ou sont étalés tous les jours d un mois précis Créer des fiches pour les RDV Marisela Hernandez 37

Fonctionnalités d un Système de vente en ligne 1) Fonctionnalités du logiciel pour les gerants: Gerer les stocks de produits, les referencer Mettre en ligne les nouveaux produits, metre à jour les anciens produits, supprimer des produits, definir les prix Créer la base de données de clients Communiquer avec les clients par email Marisela Hernandez 38

Fonctionnalités d un Système de vente en ligne 2) Fonctionnalités du logiciel pour les banques Identifier la banque du client Communiquer avec la banque pour valider/refuser un paiement Calculer le montant total des commandes Calculer les taxes Marisela Hernandez 39

Fonctionnalités d un Système de vente en ligne 3) Fonctionnalités du logiciel concernant le client Créer un compte client (nom, prénom, adresse, téléphone fixe et portable, email, nom d utilisateur, mot de passe, ) Publier les commentaires sur les produits Créer et valider le panier virtuel Créer et suivre une commande Marisela Hernandez 40

Spécification d interface Une interface est un dispositif qui permet des échanges et interactions entre différents acteurs. Une interface humain-machine permet des échanges entre un humain et une machine. Une interface de programmation permet des échanges entre plusieurs logiciels. Marisela Hernandez 41

Spécification d interface L écran est un élément important et peut afficher du texte simple aussi bien qu un environnement graphique élaboré. L un des buts de la discipline est ainsi de donner des outils et des éléments pour mettre en forme au mieux cet environnement, et ainsi permettre à l homme l interagir plus agréablement ou plus efficacement avec la machine. Marisela Hernandez 42

Spécification d interface. Exemple 1 Menu Nombre de mines détectées par le joueur Durée de la partie Echiquier ou le joueur doit découvrir les mines Marisela Hernandez 43

Spécification d interface. Exemple 1 Nouvelle partie Niveau du joueur Propriétés d affichage Marisela Hernandez 44

Spécification d interface. Exemple 2 Marisela Hernandez 45

Conception générale But: établir une première description du futur système Résultat: une description de ce que doit faire le logiciel (on dit quoi, on ne dit pas comment) Une première étape dans le processus de conception d un logiciel, à partir des spécifications des besoins, permet de se focaliser sur la définition de l architecture du logiciel. La phase de conception générale permet d envisager plusieurs solutions au problème posé et d en étudier leur faisabilité. Pour chaque solution, les choix effectués sont notés avec leurs raisons. La solution répondant le mieux aux besoins exprimés est retenue et figée. Marisela Hernandez 46

Conception générale: Système de vente en ligne Gestion et affichage site web Interface gérants module achat Gestion clients Gestion et affichage produits Module paiement BANQUE Module facturation Marisela Hernandez 47

Conception générale: L analyse descendante L analyse descendante vise à subdiviser un grand programme en plusieurs sous programmes plus faciles à concevoir, de la même façon qu on divise un problème en sous-problèmes. Le principe consiste à décomposer le problème à résoudre (action globale) en problèmes plus simples (actions intermédiaires). Par affinements successifs, on arrive à des actions dites élémentaires, traduisibles directement dans un langage informatique. Marisela Hernandez 48

Conception générale: L analyse descendante Les actions intermédiaires ou élémentaires peuvent s enchaîner séquentiellement, être soumises à une condition, être répétées, c est le rôle des structures de contrôle elles aussi traduisibles dans un langage informatique. Les langages informatiques modernes sont conçus spécifiquement pour l analyse descendante. Marisela Hernandez 49

Conception générale: L analyse descendante Premier énoncé P 0 Sections de P 1 Sections de P 2 Sections de P 3 Sections de P 4 Programme final Programme Final Marisela Hernandez 50

Conception générale : les modules Un module est une unité regroupant un ensemble de sous-problèmes. Premier énoncé P 0 Sections de P 1 Sections de P 2 Sections de P 3 Sections de P 4 Programme final Programme Final Marisela Hernandez 51

Conception générale: L analyse descendante Premier énoncé P 0 Sections de P 1 Sections de P 2 Sections de P 3 Sections de P 4 Programme Final Marisela Hernandez 52

Conception générale : les modules Découper le logiciel en modules si l on utilise un langage classique (C, Pascal) ou définir les objets des systèmes si l on utilise un langage orienté objet (java; C++) Premier énoncé P 0 Sections de P 1 Sections de P 2 Sections de P 3 Sections de P 4 Programme Final Marisela Hernandez 53

Analyse Descendente: logiciel agenda Ajout Nouveau contact Gestion fiche de contact Ajout Nouveau RDV Base de données de contacts Gestion RDV Base de données Agenda Consultation EDT d un jour Marisela Hernandez 54

Analyse Descendente: logiciel agenda Ajout Nouveau contact Consultation d une fiche de contact Ajout Nouveau RDV Modification RDV Modification d une fiche de contact Base de données de contacts Consultation RDV Suppression d une fiche de contact Base de données Agenda Suppression RDV Consultation EDT d un jour Marisela Hernandez 55

Conception détaillée But: enrichir la description du logiciel de détails d implémentation à fin d avoir une description très proche d un programme à partir du résultat de la conception générale se poursuit le découpage du logiciel jusqu à arriver à une description des structures de données et une description algorithmique des sous -problèmes (procédures et fonctions). Marisela Hernandez 56

Conception détaillée : documentation Document de conception détaillée présente l architecture détaillée à laquelle on aboutit Le manuel de l utilisation du logiciel décrit la mise en œuvre du logiciel et son environnement Spécifications des test d intégration: les tests et jeux d essais à mettre en œuvre durant la phase d intégration Marisela Hernandez 57

Programme Un logiciel peut consister de un ou plusieurs programmes informatiques Programme TRAITEMENT ENTREE SORTIE Cycle de développement d un programme Bibliothèque de programmes Marisela Hernandez 58

Cycle de développement d un programme Pour développer un programme informatique : Problème à résoudre: Analyse Algorithme Programme Compilation Exécution Marisela Hernandez 59

Cycle de développement d un programme Exemple d application: Problème: calculer la puissance d un nombre Marisela Hernandez 60

Cycle de développement d un programme Analyse Phase de réflexion qui permet: d identifier le problème: calculer a n d identifier les caractéristiques du problème à traiter: données: a, n résultats: a n Cas particuliers: a positif, négatif ou zéro n positif, négatif ou zéro Traitement (calcul de la puissance) découper le problème en une succession de tâches simples et distinctes (sous-problèmes) Marisela Hernandez 61

Cycle de développement d un programme Analyse découper le problème en une succession de tâches simples et distinctes (sous - problèmes): Si a>0 et si n >0 on calcule a n en multipliant a n-1 par a et si n <0 on calcule a n =(1/a) -n avec -n >0 Si a<0 a n =(-1) n (ABS(a)) n Si a=0 et si n >0 a n =1 sinon a n n est pas défini Marisela Hernandez 62

Cycle de développement d un programme Algorithme Succession de tests, décisions et actions dans le but de résoudre le problème Est une description des opérations à mettre en œuvre pour obtenir un résultat à partir de données Le langage algorithmique est suffisamment proche des langages de programmation pour pouvoir être traduit aisément vers ces derniers. Marisela Hernandez 63

Cycle de développement d un programme Algorithme Lecture de données: a et n Initialisation de la puissance a 1 Initialisation du nombre d itérations à 0 Si a=0 alors si n >0 alors afficher puissance = 1 sinon afficher puissance non défini sinon si n <0 on met à la place de n son opposé et à la place de a son inverse (on se ramène au cas où n >0) Tant que le nombre d itérations est inférieur à n Répéter puissance suivante=puissance précédente * a compteur d itérations augmente de 1 Afficher la puissance Marisela Hernandez 64

Cycle de développement d un programme Programme Structure de données: a : nombre réel donné n : nombre entier donné p : nombre réel qui contient les puissances successives de a j : nombre entier, le compteur d itérations Marisela Hernandez 65