Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
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
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
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
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.
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 :)
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 ».».
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.
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
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.
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 – ??–
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.
•
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)
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.
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.
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
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
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)