18
Copyright, 2000 -2004© Dominique Revuz [email protected] Conception Conception D. Revuz D. Revuz Université de Marne la Vallée Université de Marne la Vallée Génie Logiciel Génie Logiciel Art et Science de la Art et Science de la construction de logiciel construction de logiciel

Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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

Page 2: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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

Page 3: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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

Page 4: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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.

Page 5: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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 :)

Page 6: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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 ».».

Page 7: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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.

Page 8: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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

Page 9: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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.

Page 10: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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 – ??–

Page 11: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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.

Page 12: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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)

Page 13: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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.

Page 14: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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.

Page 15: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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

Page 16: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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

Page 17: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

Copyright, 2000 -2004© Dominique Revuz [email protected]

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)

Page 18: Génie Logiciel Art et Science de la construction de ...dr/COURS/GL2004/PresCour1.pdf · Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement

18

Copyright, 2000 -2004© Dominique Revuz [email protected]

Rappelles PID sont toujours positifs.