Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie...

Post on 17-Jun-2020

5 views 0 download

Transcript of Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie...

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

ConceptionConception

D. RevuzD. RevuzUniversité de Marne la ValléeUniversité de Marne la Vallée

Génie LogicielGénie Logiciel

Art et Science de la Art et Science de la construction de logicielconstruction de logiciel

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

OrganisationOrganisation

Conception Conception – Techniques, langages, Design PatternsTechniques, langages, Design Patterns– Méthodes I Diagrammes UMLMéthodes I Diagrammes UML– outils I eclipseoutils I eclipse

Méthode Méthode – Méthode II Itérations, UML, QualitéMéthode II Itérations, UML, Qualité– Gestion de Projet, Gestion d'équipesGestion de Projet, Gestion d'équipes– Outils II CVS, ganttproject Outils II CVS, ganttproject – Architecture Architecture

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Génie Logiciel IntroductionGénie Logiciel Introduction

• DéfinitionDéfinition• ImportanceImportance• HistoriqueHistorique• Les axes du Génie LogicielLes axes du Génie Logiciel• ÉvolutionÉvolution

• Mythes et LégendesMythes et Légendes

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

DéfinitionDéfinition

Le génie logiciel est une science de l'ingénieur Le génie logiciel est une science de l'ingénieur dont le champ d'application est le dont le champ d'application est le développement de programmes pour développement de programmes pour ordinateurs.ordinateurs.

Il consiste en un ensemble de techniques qui Il consiste en un ensemble de techniques qui organise le travail de façon a assurer la qualité organise le travail de façon a assurer la qualité des produits construits.des produits construits.

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Définition Définition

Il existe des écoles différentes qui donne des Il existe des écoles différentes qui donne des définitions très différentes du génie logiciel.définitions très différentes du génie logiciel.

Cinq approches du Génie Logiciel : Cinq approches du Génie Logiciel : 11 Technique – P.O.O. Technique – P.O.O. 22 Outils – ECLIPSE.orgOutils – ECLIPSE.org33 Méthode – objecteering Méthode – objecteering 44 Processus – le travail à la chaîne Processus – le travail à la chaîne 55 Management – Gestion des processusManagement – Gestion des processus

(et une bonne étique :)(et une bonne étique :)

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Le génie logiciel est « le Le génie logiciel est « le ManagementManagement d'un d'un ProcessusProcessus de mise en oeuvre de de mise en oeuvre de TechniquesTechniques structurées par une structurées par une MéthodeMéthode soutenu par des soutenu par des Outils Outils ».».

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

ImportanceImportance

La difficulté est sous-estimée !La difficulté est sous-estimée !Les grands logiciels critiques sont aussi Les grands logiciels critiques sont aussi difficiles a construire que les grandes difficiles a construire que les grandes constructions (adp).constructions (adp).

C'est un travail d'équipe C'est un travail d'équipe l'organisation de l'équipe est un point clef l'organisation de l'équipe est un point clef de la réussite. de la réussite.

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Importance (2)Importance (2)

• Les systèmes informatique deviennent de plus en plus Les systèmes informatique deviennent de plus en plus présent dans la vie quotidienne et dans l'entreprise.présent dans la vie quotidienne et dans l'entreprise.

• Les tâches confiés au logiciels deviennent de plus en Les tâches confiés au logiciels deviennent de plus en plus complexe, risquées et critiques.plus complexe, risquées et critiques.

• Les airbus sont pilotés par des commandes Les airbus sont pilotés par des commandes « électriques » avec un contrôle de validité fait par un « électriques » avec un contrôle de validité fait par un logiciel.logiciel.

• Le matériel médical moderne est fait à 50% de logiciels.Le matériel médical moderne est fait à 50% de logiciels.• Les machines-outils sont programmés.Les machines-outils sont programmés.• Toute la gestion, les communications, etc Toute la gestion, les communications, etc

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

HistoriqueHistoriqueLes premiers programmes sont très cours et très bien Les premiers programmes sont très cours et très bien

définis mathématiquement. Écrits par de très petites définis mathématiquement. Écrits par de très petites équipes très compétentes. équipes très compétentes.

Progressivement les programmes se sont complexifiés et Progressivement les programmes se sont complexifiés et les besoins fonctionnels (en particulier l'ergonomie) les besoins fonctionnels (en particulier l'ergonomie) sont devenus de plus en plus importants. sont devenus de plus en plus importants.

L'augmentation exponentiel de la taille des programmes L'augmentation exponentiel de la taille des programmes et de leur coût a forcé la communauté des et de leur coût a forcé la communauté des programmeurs a formaliser leurs méthodes de programmeurs a formaliser leurs méthodes de production. C'est la naissance du Génie Logiciel.production. C'est la naissance du Génie Logiciel.

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Historique (2) LangagesHistorique (2) Langages

Les langages de programmation évoluent.Les langages de programmation évoluent.– Écriture de circuits (aucune adaptation)Écriture de circuits (aucune adaptation)– Des instructions (possibilité de plusieurs programmes sur une Des instructions (possibilité de plusieurs programmes sur une

même machine)même machine)– Langages compilés (Fortran,...) avec des éléments syntaxiques Langages compilés (Fortran,...) avec des éléments syntaxiques

plus évoluésplus évolués– Intégrations de concepts algorithmiques comme les piles et le Intégrations de concepts algorithmiques comme les piles et le

tas, et de la notion de fonction.tas, et de la notion de fonction.– langages Objets langages Objets – ??–

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Approche ObjetApproche Objet

• Une évolution importante des méthodes de Une évolution importante des méthodes de développement ou l'on cherche plus a développement ou l'on cherche plus a structurer les logiciel qu'a chercher des structurer les logiciel qu'a chercher des solutions algorithmiques optimales.solutions algorithmiques optimales.

• L'approche objet est une écriture des logiciel L'approche objet est une écriture des logiciel qui aide les développeurs a les comprendre et qui aide les développeurs a les comprendre et donc a les construire. donc a les construire.

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Une technologie jeune et Une technologie jeune et dynamiquedynamique• Une puissance de calcul en constante évolutionUne puissance de calcul en constante évolution• Des évolutions permanentes des langages de Des évolutions permanentes des langages de

développementdéveloppement• De nouvelles techniques a intégrer régulièrement De nouvelles techniques a intégrer régulièrement

(base de données, interfaces graphiques, réseaux, (base de données, interfaces graphiques, réseaux, internet)internet)

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Loi de MooreLoi de Moore

“ “ Multiplication par 2 de la Multiplication par 2 de la Puissance tout les 18 mois ”Puissance tout les 18 mois ”

Une multiplication par 1000 tout les 15ans.Une multiplication par 1000 tout les 15ans.

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

un coût relatif croissant du un coût relatif croissant du logiciellogicielAvec le salaire d ’un mois d ’un ingénieur Avec le salaire d ’un mois d ’un ingénieur informaticien on achète un ordinateur très puissant.informaticien on achète un ordinateur très puissant.

Il devient difficile d’écrire des logiciels grand public Il devient difficile d’écrire des logiciels grand public qui utilise pleinement la puissance des ordinateurs qui utilise pleinement la puissance des ordinateurs de bureau.de bureau.

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Un travail d’équipeUn travail d’équipe

Comme pour les autres branches du GénieComme pour les autres branches du Génie(Militaire -> armes, civil -> cibles)(Militaire -> armes, civil -> cibles)

La complexité des objectifs devient telle que seule La complexité des objectifs devient telle que seule des équipes fournies d’ingénieurs sont capable de des équipes fournies d’ingénieurs sont capable de répondre aux exigences.répondre aux exigences.

Équipe => organisation, communicationÉquipe => organisation, communication

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

OrganisationOrganisation

• Rôle de chacunRôle de chacun– On ne peut être juge et partie On ne peut être juge et partie – SpécialisationSpécialisation

• PlanificationPlanification– Dans quel ordreDans quel ordre– Qui Qui

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

CommunicationCommunication

• Un langage communUn langage commun– UMLUML– DPDP– Commentaires (in Commentaires (in EnglishEnglish pleaseplease))

• Organisé Organisé – Template de documentsTemplate de documents– A des moments préciséA des moments précisé

• Équipe de FOOT !!! (3-0)Équipe de FOOT !!! (3-0)

18

Copyright, 2000 -2004© Dominique Revuz dr@univ-mlv.fr

Rappelles PID sont toujours positifs.