GL - 2 2.1 Le Génie Logiciel



Documents pareils
GL Processus de développement Cycles de vie

Analyse,, Conception des Systèmes Informatiques

Cours Gestion de projet

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Processus d Informatisation

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

INDUSTRIALISATION ET RATIONALISATION

Introduction au Génie Logiciel

URBANISME DES SYSTÈMES D INFORMATION

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

Génie logiciel (Un aperçu)

Gé nié Logiciél Livré Blanc

Master Informatique Aix-Marseille Université

La solution pour gérer vos connaissances techniques et scientifiques

Diagrammes de Package, de déploiement et de composants UML

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Introduction au génie logiciel

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Les méthodes itératives. Hugues MEUNIER

Développement itératif, évolutif et agile

Maîtrise d ouvrage agile

Rational Unified Process

Identification du module

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

DÉPLOIEMENT D UN ERP. Cours dispensé pour les L3 MSI Elaboré par : Mehdi M tir 2013/2014 Chapitre 3 : Modélisation des besoins

L Architecture d Entreprise au service de la Transformation. Ludovic Relandeau VP, Managing Director MEGA

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Modernisation et gestion de portefeuilles d applications bancaires

Mettez les évolutions technologiques au service de vos objectifs métier

Gestion Projet. Cours 3. Le cycle de vie

LA GESTION DE PROJET INFORMATIQUE

EmpreintePro logiciel de gestion de laboratoire

NOTE DE POSITIONNEMENT EGF.BTP SUR LA NUMERISATION DE LA FILIERE BATIMENT


Distribuez une information fiable. IBM InfoSphere Master Data Management Server 9.0. Des données fiables pour de meilleurs résultats

Introduction à la modélisation

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Framework Agile Global

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

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

CERTIFICATION LA CERTIFICATION

Pôle de Dakar S IMUL ATIONS. 1 Utiliser un taux d accroissement pour une simulation

CHAPITRE 3 : LES METHODES AGILES?

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Chef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.

Bénéfices pour votre organisation : une solution pouvant supporter vos besoins d affaires

XAGA. Les XAGApps : Des Progiciels de Gestion et de Gouvernance à la carte pour managers

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

LA GESTION DE PROJET INFORMATIQUE

Journée COMPIL «Agilité et recherche»

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

Séance 1 Méthodologies du génie logiciel

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

Le génie logiciel. maintenance de logiciels.

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement?

Le présent marché est passé en application des articles 33, 53, 57 et suivants du Code des marchés publics

Algorithmique et systèmes répartis

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

REALISATION d'un. ORDONNANCEUR à ECHEANCES

S engager pour gagner la confiance

25/12/2012

Méthodologies de développement de logiciels de gestion

Systèmes et réseaux d information et de communication

Les mécanismes d'assurance et de contrôle de la qualité dans un

Entreprises Solutions

La reconquête de vos marges de manœuvre

Conseil et Ingénierie des Systèmes d Information d Entreprise

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Ingénierie des méthodes Agiles : Que cache l opposition entre déploiement et livraison en continu? Faut-il adopter DevOps 1?

PROFIL DE POSTE AFFECTATION. SERIA (service informatique académique) DESCRIPTION DU POSTE

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

RTDS G3. Emmanuel Gaudin

LOGICIEL DE GESTION DE LABORATOIRE ALPHA LABO

Société de conseil en intégration Oracle E Business Suite.

CH.3 SYSTÈMES D'EXPLOITATION

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web.

Université de Bangui. Modélisons en UML

Développement spécifique d'un système d information

ES Enterprise Solutions

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

Chapitre I : le langage UML et le processus unifié

Intégration de Données et Systèmes Décisionnels. Au cœur de la performance

Business Process Design Max Pauron

Conception, architecture et urbanisation des systèmes d information

Logiciel de capture et de gestion des flux de documents MOINS DE PAPIER, PLUS D EFFICACITÉ. VOUS POUVEZ COMPTER SUR NOUS

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015

Logiciel de gestion des équipements de test MET/TEAM. NOUVEAU logiciel convivial de gestion des ressources d étalonnage par navigateur

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

Dossier de Presse SYLOB

Solution logicielle pour le pilotage et l ERM. Journées d études IARD 26 mars mars 2010

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Communiqué de Lancement

Alcatel OmniPCX Office

Transcription:

GL - 2 2.1 Le Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda 1

Rappels La production logicielle est une activité complexe de façon inhérente Brooks : «No silver bullet!» C est un métier d ingénieur qui requiert des principes, des méthodes, des techniques et des outils Le Génie Logiciel doit prendre en compte les spécificités du logiciel pour atteindre des qualités telles que La correction, la performance, la disponibilité, l utilisabilité, 2

Plan Contexte Le Génie Logiciel Acteurs Activités logicielles Conclusion 3

Intérêt du génie logiciel Les principes et techniques de GL s appliquent mieux aux projets de grande taille Regroupant plusieurs personnes Devant fournir plusieurs versions (adaptée de Parnas, 77) Généralement de longue durée Ceci met en évidence les différences entre La programmation une activité personnelle Le génie logiciel une activité d équipe au sein d un projet 4

Définition d un projet Budget Qualité Durée 5

Contexte projet De nombreuses personnes n ayant pas les mêmes objectifs À coordonner, qui doivent communiquer Pour fournir un résultat en respectant certaines contraintes 6

Des projets variés Logiciel commercialisé par une société Dirigé par le marketing, les commerçants, les dirigeants Relations souvent informelles Liens et cahier des charges pas toujours très formalisés Beaucoup de réactivité Marketing, Commerce, Direction Équipes de développement 7

Des projets variés - suite Logiciel construit sur demande Spécifié et payé par un client Réalisé par une entreprise informatique Relations très formelles régies par la loi Importance du contrat (avec spécifications, pénalités, ) Client Maîtrise d ouvrage Manager Maîtrise d oeuvre Équipes de développement 8

Des projets variés - suite Projet système L informatique est une composante Les exigences sont déterminées au niveau système Relations souvent assez formelles Équipes de développement Responsable de lot informatique Manager Responsable de lot matériel 9

Apport du GL En fonction de leur nature, les projets ont des besoins très différents Logiciel commercial : lien avec les clients Logiciel exploratoire : souplesse Logiciel gros et complexe : spécifications stables Le travail d un ingénieur en informatique est de choisir la bonne approche de GL en fonction du projet Une bonne approche aidera à bien livrer le produit final Le produit souhaité et le contexte déterminent la bonne approche 10

Plan Notion de projet Le Génie Logiciel Acteurs Activités logicielles Conclusion 11

Définition du génie logiciel Le génie logiciel est une démarche d ingénierie qui traite tous les aspects de la production de logiciels du cahier des charges jusqu'aux activités de maintenance dépasse le cadre purement technique Le GL vise à assurer la production de logiciels en respectant les aspects économiques <Coût, échéance, qualité> 12

Principes et techniques Le GL repose sur un ensemble de principes mis en œuvre par des méthodes, des techniques et des outils Outils Notations/langages Méthodes et techniques Principes Rational Rose UML Objet Encapsulation, Masquage, D après Ghezzi, 93 13

Principe : la rigueur Ingénieur = rigueur + précision Les activités logicielles doivent être réalisées rigoureusement Suivi de processus adaptés Utilisation correcte des techniques adaptées Fourniture des livrables prévus (documents, modèles, code) Validation de toutes les livraisons Attitude professionnelle au sein d une équipe, etc. Deux remarques La rigueur ne tue pas la créativité Rigueur n est pas égal à formel (=précision) 14

Principe : la modularité Le principe est de remplacer le problème initial par des modules de moindre complexité chaque module traite une partie du problème ils sont compréhensibles, homogènes, indépendants les modules sont reliés entre eux On recherche Faible couplage Forte cohésion Non Oui!! 15

Principe : l abstraction Organiser les informations (ou les modules) suivant différents niveaux d organisation Définition de niveaux de généralisation A un niveau donné, on ne considère que les informations ayant le même «niveau sémantique» Un niveau doit être compréhensible, homogène, complet On recherche Des niveaux bien découplés Le passage aisé d un niveau à l autre 16

Principe : séparation des préoccupations Le principe est de se concentrer sur un seul aspect du problème à la fois et le traiter de façon indépendante Exemples Séparation des rôles des différents acteurs Séparation des phases de développement Se concentrer uniquement sur la sécurité Il faut choisir des aspects suffisamment indépendants Les aspects trop liés doivent être traités ensemble On peut parfois automatiser la réunion des aspects séparés (exemple AOP) 17

Séparation des préoccupations - exemple Identification et définition de rôles différents au sein d un développement logiciel Chaque acteur a une préoccupation différente Utilisateur Analyste Architecte Maintenance Client Chef de projet Développeurs 18

Séparation des préoccupations - exemple Identification et définition d activités différentes lors d un développement logiciel (séparation temporelle) Chaque activité a une focalisation spécifique Permet, entre autre, la séparation entre spécification et implem. Gestion des exigences Conception architecture Conception détaillée Codage et tests unitaires Intégration et tests 19

Séparation des préoccupations - exemple Identification et construction de vues complémentaires de la structure du logiciel Vue logique Vue dynamique Vue physique IHM Carte embarquée xx Mhz + xx Mo RAM Simulateur Visu Carte embarquée xx Mhz + xx Mo RAM IHM Cabine Simulateur Vue physique Simulateur Acheteur Article Source Agence Vue logique Demande d'article Demande copyright Demande formulaire formulaire Vue dynamique 20

Remarque Ces principes reposent sur la décomposition des problèmes en sous problèmes plus petits (et moins complexes) «diviser pour régner» Idée simple Le problème est ensuite de recomposer C est le défi majeur du GL (moins simple!) 21

Plan Notion de projet Le Génie Logiciel Acteurs Activités logicielles Conclusion 22

Acteurs Différents acteurs interviennent Utilisateurs Clients Manager/ingénieur d affaires Chef de projet Architecte Analyste Développeur Maintenance Ils n ont pas les mêmes intérêts (Maj YL 2007) 23

Utilisateur Fonctionnalités Facilité d utilisation Performance Sécurité Robustesse 24

Client/Maîtrise d ouvrage Respect des coûts et des délais Garantie de fonctionnement Maîtrise des risques (technologiques) Pérennité Efficacité Coût raisonnable (Maj YL 2007) 25

Manager/Maîtrise d oeuvre Relation client Bénéfice Responsabilité limitée/maîtrisée (Maj YL 2007) 26

Chef de projet/maîtrise d oeuvre Simplicité de l ensemble Possibilité d évaluer les progrès (incréments) Bonne expression des contraintes Technologies maîtrisées Structuration correspondant à ses équipes Réutilisation des composants internes Maîtrise des risques Maîtrise des coûts et des délais 27

Architecte Cohérence de l architecture Simplicité Pérennité Réutilisation de l existant Technologies maîtrisées 28

Développeur Simplicité de l interface de ses composants Technologie connue ou «d avenir» Pas trop de contraintes imposées sur ses composants 29

Analyste Accès aux utilisateurs Clarté du domaine Indépendance technologique 30

Maintenance Facilité de modification Isolation des composants Existence d interfaces d administration Technologies connues et pérennes (Maj YL 2007) 31

Relations Utilisateur Analyste Architecte Manager Maintenance Client Chef de projet Développeurs Comment organiser le travail entre ces acteurs? 32

Plan Notion de projet Principes du Génie Logiciel Acteurs Activités logicielles Conclusion 33

Activités Le développement comprend un ensemble d activités La gestion des exigences La spécification La conception L implantation La validation L intégration Le déploiement La maintenance Elles fournissent différents produits logiciels (documents, modèles, code, ) 34

Activités permanentes Il existe également des activités permanentes La documentation La gestion de projet La gestion de la qualité La gestion de la sous-traitance etc. 35

Analyse des besoins/spécification Objectif de cette phase : identifier ce que veut le client et les contraintes modéliser sous forme d exigences et de modèles Cahier des des charges Exigences Analyse Acteurs importants Modèles système 36

Use case 1 : Emprunt d une revue Exemple d exigences Description Ce «use case» montre comment un utilisateur peut imprimer un article dès lors qu il a clairement identifié l article qui l intéresse et payé les droits d auteur (copyrights). Acteurs L utilisateur L imprimante Flots d événements 1. Accès à l article 1.1 L utilisateur spécifie le titre de l ouvrage recherché 1.2 L utilisateur valide sa recherche 1.3 Si le système indique «requête incomplète», retour à 1.1 1.4 Le système présente à l utilisateur la liste des réponses restauré Disponible disparition Restauration détérioré emprunt rendu Manquant Ne peut être restauré Emprunté Détruit 2. Impression de l article 2.1 L utilisateur sélectionne l article qui l intéresse 2.2 L utilisateur clique sur l icône d impression (on suppose ici que l imprimante est connectée et fonctionne) 2.3 L utilisateur quitte le logiciel 37

Conception Objectif de cette phase : définir une organisation logique du code modéliser la résolution du problème posé par l analyse Exigences Architecture Modèles système Conception Conception détaillée 38

Conception exemples de modèles Bibliothèque TCP/IP Base de données PC multi-media xx Mhz + xx Mo RAM Station de travail xx Mhz + xx Mo RAM Ne peut être restauré Livre restauré Disponible disparition Restauration détérioré emprunt rendu Manquant Emprunté Détruit Titre Auteurs Date parution Etat = {disponible, emprunté, restauration, manquant, détruit} Nombre exemplaire 39

Implantation Objectif de cette phase : production d un exécutable réalisant la conception ajout d optimisation si nécessaire Architecture Conception Code Conception détaillée 40

Implantation exemples de code // exception pour lecture de fichier FileOutputStream fos = null; try { fos = new FileOutputStream(...); fos.write(a);} catch (IOException e) { e.printstacktrace(); } finally{ if(fos!= null) fos.close(); } (defun mklist (obj) (if (listp obj) obj (list obj))) LES AX,a MOV DX,ES LES CX,b MOV BX,ES MOV SI,AX MOV DI,DX MUL CX PUSH AX PUSH DX MOV AX,SI MUL BX MOV BX,AX MOV AX,DI MUL CX MOV CX,AX POP DX POP AX ADD DX,BX ADD DX,CX ; Valeur a ; Valeur b 41

Validation Objectif de cette phase : tester/valider les différents artefacts logiciels activité transverse/permanente Cahier des charges Spécification système Conception système Conception détaillée Implantation Tests d acceptation Tests Système Tests d intégration Tests unitaires (Maj YL 2007) 42

Validation exemples de techniques Audit Revue/inspection Test 43

Intégration et déploiement Combiner les modules et vérifier le produit dans son ensemble essentiellement un problème de test Le déploiement correspond à l installation du produit fini chez le client Importance du web aujourd hui De plus en plus réalisé par les clients ou les utilisateurs Acteurs : programmeurs, ingénieurs du client, utilisateurs 44

Intégration et déploiement exemples 45

Maintenance Il s agit d apporter des modifications à un logiciel existant C est la phase la plus coûteuse (70% du coût total) Types Maintenance corrective Maintenance prédictive Maintenance évolutive 46

Problème : organisation Les activités s enchaînent plus ou moins bien on ne dispose pas de toutes les informations au bon moment les besoins et les contraintes évoluent les décisions à prendre sont parfois trop complexes (stratégie «do and see») les bonnes personnes ne sont pas toujours disponibles Définition de cycle de vie Itératifs aujourd hui 47

Problème : communication La communication entre les différents acteurs et les différentes phases est complexe Documents en langue naturelle (français/anglais) Peu de possibilités de traitement automatique Utilisation de modèles, mais pas de formalisme général (pour toutes les activités et tous les domaines) peu de traçabilité entre les modèles complétude et vérification des modèles? 48

Plan Notion de projet Le Génie Logiciel Acteurs Activités logicielles Conclusion 49

Synthèse Le génie logiciel est une démarche d ingénierie et poursuit les objectifs suivants : prédictible reproductible évaluable Le GL repose sur deux grands principes La rigueur La décomposition des problèmes 50

Synthèse suite Premiers apports du GL définition de différents acteurs définition de différentes activités Premiers problèmes Enchaînement des ces activités Communication entre ces acteurs (et ces activités) 51

Conclusion 52