Conception D. Revuz Génie Logiciel Art et Science de la
Transcription
Conception D. Revuz Génie Logiciel Art et Science de la
Génie Logiciel Art et Science de la construction de logiciel Conception D. Revuz Université de Marne la Vallée Copyright, 2000 -2004© Dominique Revuz [email protected] Organisation Conception – Techniques, langages, Design Patterns – Méthodes I Diagrammes UML – outils I eclipse Méthode – – – – Méthode II Itérations, UML, Qualité Gestion de Projet, Gestion d'équipes Outils II CVS, ganttproject Architecture Copyright, 2000 -2004© Dominique Revuz [email protected] Génie Logiciel Introduction • • • • • Définition Importance Historique Les axes du Génie Logiciel Évolution • Mythes et Légendes Copyright, 2000 -2004© Dominique Revuz [email protected] Définition Le génie logiciel est une science de l'ingénieur dont le champ d'application est le développement de programmes pour ordinateurs. Il consiste en un ensemble de techniques qui organise le travail de façon a assurer la qualité des produits construits. Copyright, 2000 -2004© Dominique Revuz [email protected] Définition Il existe des écoles différentes qui donne des définitions très différentes du génie logiciel. Cinq approches du Génie Logiciel : 1 Technique – P.O.O. 2 Outils – ECLIPSE.org 3 Méthode – objecteering 4 Processus – le travail à la chaîne 5 Management – Gestion des processus (et une bonne étique :) Copyright, 2000 -2004© Dominique Revuz [email protected] Le génie logiciel est « le Management d'un Processus de mise en oeuvre de Techniques structurées par une Méthode soutenu par des Outils ». Copyright, 2000 -2004© Dominique Revuz [email protected] Importance La difficulté est sous-estimée ! Les grands logiciels critiques sont aussi difficiles a construire que les grandes constructions (adp). C'est un travail d'équipe l'organisation de l'équipe est un point clef de la réussite. Copyright, 2000 -2004© Dominique Revuz [email protected] Importance (2) • Les systèmes informatique deviennent de plus en plus présent dans la vie quotidienne et dans l'entreprise. • Les tâches confiés au logiciels deviennent de plus en plus complexe, risquées et critiques. • Les airbus sont pilotés par des commandes « électriques » avec un contrôle de validité fait par un logiciel. • Le matériel médical moderne est fait à 50% de logiciels. • Les machines-outils sont programmés. • Toute la gestion, les communications, etc Copyright, 2000 -2004© Dominique Revuz [email protected] Historique Les premiers programmes sont très cours et très bien définis mathématiquement. Écrits par de très petites équipes très compétentes. Progressivement les programmes se sont complexifiés et les besoins fonctionnels (en particulier l'ergonomie) sont devenus de plus en plus importants. L'augmentation exponentiel de la taille des programmes et de leur coût a forcé la communauté des programmeurs a formaliser leurs méthodes de production. C'est la naissance du Génie Logiciel. Copyright, 2000 -2004© Dominique Revuz [email protected] Historique (2) Langages Les langages de programmation évoluent. – Écriture de circuits (aucune adaptation) – Des instructions (possibilité de plusieurs programmes sur une même machine) – Langages compilés (Fortran,...) avec des éléments syntaxiques plus évolués – Intégrations de concepts algorithmiques comme les piles et le tas, et de la notion de fonction. – langages Objets – ? – Copyright, 2000 -2004© Dominique Revuz [email protected] Approche Objet • Une évolution importante des méthodes de développement ou l'on cherche plus a structurer les logiciel qu'a chercher des solutions algorithmiques optimales. • L'approche objet est une écriture des logiciel qui aide les développeurs a les comprendre et donc a les construire. • Copyright, 2000 -2004© Dominique Revuz [email protected] Une technologie jeune et dynamique • Une puissance de calcul en constante évolution • Des évolutions permanentes des langages de développement • De nouvelles techniques a intégrer régulièrement (base de données, interfaces graphiques, réseaux, internet) Copyright, 2000 -2004© Dominique Revuz [email protected] Loi de Moore “ Multiplication par 2 de la Puissance tout les 18 mois ” Une multiplication par 1000 tout les 15ans. Copyright, 2000 -2004© Dominique Revuz [email protected] un coût relatif croissant du logiciel Avec le salaire d ’un mois d ’un ingénieur informaticien on achète un ordinateur très puissant. Il devient difficile d’écrire des logiciels grand public qui utilise pleinement la puissance des ordinateurs de bureau. Copyright, 2000 -2004© Dominique Revuz [email protected] Un travail d’équipe Comme pour les autres branches du Génie (Militaire -> armes, civil -> cibles) La complexité des objectifs devient telle que seule des équipes fournies d’ingénieurs sont capable de répondre aux exigences. Équipe => organisation, communication Copyright, 2000 -2004© Dominique Revuz [email protected] Organisation • Rôle de chacun – On ne peut être juge et partie – Spécialisation • Planification – Dans quel ordre – Qui Copyright, 2000 -2004© Dominique Revuz [email protected] Communication • Un langage commun – UML – DP – Commentaires (in English please) • Organisé – Template de documents – A des moments précisé • Équipe de FOOT !!! (3-0) Copyright, 2000 -2004© Dominique Revuz [email protected] 18 Rappel les PID sont toujours positifs. Copyright, 2000 -2004© Dominique Revuz [email protected]