CoursDocuments

cours de GÉNIE LOGICIEL

GL1-II2 Des objectifs ambitieux… 

Face Des à cette objectifs complexité, ambitieux… 

on veut : 

Livrer coûts et des les délais logiciels de bonne qualité en respectant les Préparer et faciliter la maintenance et les extensions du système 

Simplifier projet, programmeur, d’analyste, le travail du testeur de du l’équipe et concepteur, du mainteneur) de développement d’architecte, (chef du de Travailler isolation tout sur en des garantissant parties individuelles leur intégration du système en La vie d’un logiciel ne se limite pas à la programmation ! 

Ecole Nationale des Sciences de l’Informatique 

PLAN DU MODULE 

Processus Logiciels 

GÉNIE LOGICIEL 1 II2-ENSI 

GL1-II2 

Introduction au Génie Logiciel 

Analyse & Spécification des Logiciels 

Conception des logiciels 

Tests logiciels 

Gestion de configuration 

GL1-II2 Motivations… 

Besoin croissant en des systèmes logiciels avancés 

Les applications logicielles sont de plus en plus complexes (besoins fonctionnels, environnements distribués, interopérabilité des langages et des plates-formes hétérogènes) 

Exigences croissantes des clients et évolution des besoins en cours de projet, 

Mutation technologique rapide : langages et environnements de développement 

L’équipe de développement (souvent de grande taille) travaille à distance (moins de communication) 

Objectifs de module 

GL1-II2 

Avoir un aperçu général sur le génie logiciel et comprendre la valeur ajoutée de génie logiciel 

Etudier les processus de développement des logiciels en utilisant des approches semi-formelles 

Appliquer et maitriser les étapes de développement semi-formel (études de cas) 

Apprendre à choisir et à appliquer : processus, approche, technique, outil, … 

Aborder la qualité du logiciel

RÉFÉRENCES 

Software Engineering, Ian Sommerville, 10th Edition, 2015 

GL1-II2 

Software Engineering-A Practitioners Approach-Roger S. Pressman-8th Edition-2015. 

12/09/2017

PLAN DU COURS 

GL1-II2 

  1. Le logiciel 

C’est quoi un logiciel ? 

Quels sont les différents types des logiciels? 

Quelles sont les qualités d’un bon logiciel ? 2. Le génie logiciel (GL) 

C’est quoi le GL ? 

Pourquoi le GL ? 

Quels sont les acteurs qui interviennent dans le GL ? 

Quels défis devant le GL ? 3. Quiz 

Chapitre 1 Introduction au génie logiciel 

1.2 Typologie des logiciels 

Section 1 Le Logiciel 

1ère classification : deux grandes catégories 

Logiciels génériques (Generic products) : des systèmes dédiés au grand public qui sont commercialisés et vendus à n’importe quel client qui souhaite les acheter. 

Logiciels sur mesure (Customized products) : des systèmes développés pour répondre à des besoins particuliers d’un client. 

11 

A voir aussi les vidéos 

http://iansommerville.com/sof tware-engineering- book/videos/ 

Chapitre 1 Introduction au génie logiciel 

1.2 Typologie des logiciels 

Section 1 Le Logiciel 

2ème classification : 

Logiciels systèmes : les systèmes d’exploitation, Ex: Windows, Linux, 

Logiciels temps réels : réponse aux événements dans un laps de temps limité et strict, Ex: système de monitoring de la température 

Logiciels de gestion: Ex: systèmes d’information, systèmes bancaires 

Logiciels d’ingénierie : Modélisation et programmation Ex: Eclipse 

Logiciels embarqués : intégrés à un dispositif ou une machine Ex: système de freinage automobile, guidage automatique de train 

12 

Chapitre 1 Introduction au génie logicel 

1.1 Définition du logiciel 

Section 1 Le Logiciel 

Un logiciel (software) est un ensemble de : 1. Instructions/Programmes informatiques/Codes sources exécutables) : exécutés pour répondre aux besoins du client. 2. Données : manipulées et traitées par les 

programmes. 3. Documents : décrivent les programmes et des données (documents d’analyse, de spécification, de conception, rapport d’implémentation, manuel d’utilisation, d’installation, de configuration, de maintenance, les jeux de tests, …) 

10 

École Nationale des Sciences de l’Informatique Génie Logiciel 1 

CHAPITRE 1 

II2-ENSI 

12/09/2017

Chapitre 1 Introduction au génie logiciel 

1.3 Qualités 

Les qualités de logiciel peuvent être classifiées en deux types : Externes : Observables par l’utilisateur Internes : Concernent le développement du logiciel 

Critères de qualité d’un bon logiciel: 

Validité Fiabilité Robustesse Extensibilité Réutilisabilité Vérifiabilité Compatibilité Portabilité Interopérabilité Efficacité Facilité d’emploi Convivialité Réparabilité Intégrité 

Chapitre 1 Introduction au génie logiciel 

1.2 Typologie des logiciels 

Section 1 Le Logiciel 

interdire Le logiciel ou limiter propriétaire à l’utilisateur : soumis suivant aux droits un de contrat. son auteur qui peut ▪ Il est distribué uniquement sous forme binaire (sans source). 

▪ Différents types de logiciels propriétaires : 

Les logiciels commercialisés : des logiciels propriétaires payants. 

Les graticiels (freewares) : des logiciels gratuits. L’auteur du logiciel rend disponible gratuitement son logiciel (exe) (le code n’est pas accessible) 

Les partiellement partagiciels gratuits. (sharewares) : des logiciels propriétaires La période logiciel logiciels version avant de d’essai. gratuite promouvoir de Ceci procéder est très donne tous limitée à leurs l’achat l’occasion ou produits. encore et permet au offerte consommateur aussi gratuitement aux entreprises d’évaluer pour une en le 15 

1.2 Typologie des logiciels 

Logiciels pour ordinateur personnel : Ex: calculatrice, calendrier, capture 

Logiciels d’applications Web (Webapps): manipulables grâce à un navigateur Web, Ex: moteurs de recherche, webmail, wiki, blogs, googleMap, 

Applications mobiles : Ex: OS ANDROID, WinDowsMobile 

Logiciels d’intelligence artificielle: Ex: Systèmes de robotique, système expert, reconnaissance 

des formes, les jeux 

13 

Section 1 Le Logiciel 

17 

http://www.01net.com 

Chapitre 1 Introduction au génie logiciel 

1.3 Qualités 

  • Validité ou conformité ou adéquation : aptitude d’un produit logiciel à remplir exactement les fonctions définies par le cahier des charges 
  • Fiabilité : aptitude d’un logiciel à assurer de manière continue le service attendu, sans erreurs. 
  • Robustesse : aptitude d’un logiciel à fonctionner même dans des conditions anormales sans dysfonctionnements. 
  • Extensibilité ou évolutivité : facilité avec laquelle un logiciel se prête à sa maintenance 
  • Réutilisabilité : aptitude d’un logiciel à être réutilisable en tout ou en partie (composants logiciels) , dans de nouvelles applications. 
  • Vérifiabilité : facilité de préparation des procédures de test. 
  • Compatibilité : aptitude d’un logiciel de communiquer avec une autre application. 

Chapitre 1 Introduction au génie logiciel 

1.2 Typologie des logiciels 

Section 1 Le Logiciel 

3ème classification

Le logiciel libre (Open source) : L’auteur met le code source du logiciel à la disposition de tous les utilisateurs désireux de le réutiliser ou d’y apporter des améliorations. 

Il se définit par 4 libertés : 

Liberté 1 : la liberté d’exécuter le programme pour tous les usages. 

Liberté 2: la liberté d’étudier le fonctionnement du programme et de l’ (l’accès au code source est une condition requise) 

Liberté 3 : la liberté de redistribuer des copies. 

Liberté 4 : la liberté de modifier le programme et de publier vos améliorations. 

Le logiciel libre n’est pas nécessairement gratuit! 

14 

Chapitre 1 Introduction au génie logiciel 

1.2 Typologie des logiciels 

12/09/2017Section 1 Le Logiciel 

16 

Section 1 Le Logiciel 

18 


Chapitre 1 Introduction au génie logiciel 

1.3 Qualités 

Section 1 Le Logiciel 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

1.3 Qualités 

12/09/2017Section 1 Le Logiciel 

12/09/2017Section 1 Le Logiciel 

12/09/2017Section 1 Le Logiciel 

  • Portabilité : facilité avec laquelle un logiciel peut être transféré sous différents environnements matériels et logiciels. 
  • Interopérabilité : facilité avec laquelle un logiciel peut coopérer et être combiné avec d’autres logiciels en passant par des standards. 
  • Efficacité ou Performance : utilisation optimale des ressources disponibles (mémoire, CPU…) 
  • Utilisabilité ou Facilité d’emploi : facilité d’utilisation et d’apprentissage 
  • Convivialité ou Ergonomie : qualité d’un logiciel que les utilisateurs trouvent agréable et facile à utiliser. 
  • Réparabilité : Correction facile des erreurs. 
  • Intégrité : aptitude d’un logiciel à protéger son code et ses données contre des accès non autorisés. 

L’importance de ces critères de qualité variera selon la nature du projet de développement. 

Il est difficile d’optimiser tous ces critères car ils peuvent être parfois contradictoires. 

Le choix de compromis doit s’effectuer en fonction du contexte 

Les critères de qualité sont sujets à la loi de la diminution des gains (compromis) ! 

PLAN DU COURS 

GL1-II2 

  1. Le logiciel 

C’est quoi un logiciel ? 

Quels sont les différents types des logiciels 

Quelles sont les qualités d’un bon logiciel? 2. Le génie logiciel (GL) 

Pourquoi le GL ? 

C’est quoi le GL ? 

Quels sont les acteurs qui interviennent dans le GL ? 3. Quiz 

21 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

Prise de conscience dans les années 70, appelée la crise du logiciel : 

  • Coût de construction du logiciel plus important que celui de la construction du matériel 
  • Baisse significative de la qualité des logiciels. 

Cette crise du logiciel était principalement due à : 

L’inadéquation : le non respect des spécifications (trop de modifications) 

Dépassement des délais : Logiciels souvent livrés en retard 

Dépassement des coûts : dépassement du budget prévu 

liens de communications et trop d’interrelations entre modules 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

22 

Chapitre 1 Introduction au génie logiciel 

2.1 La crise de logiciel 

Section 2 Le Génie Logiciel 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

2.2 Définition 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Pour répondre à cette crise, on a essayé d’appliquer les méthodes connues de l’ingénieur au domaine du logiciel, pour établir des méthodes fiables 

Il s’agit de se donner un cadre rigoureux pour : 

Guider le développement du logiciel, de sa conception à sa livraison. 

Contrôler les coûts, évaluer les risques et respecter les délais. 

Établir des critères d’évaluation de la qualité d’un logiciel. 

La naissance du Génie Logiciel 

23 

19 

D’après la Norme IEEE 610.12 : « Le Génie Logiciel est l’application d’une approche systématique, disciplinée et quantifiable au développement, à l’exploitation et à la maintenance du logiciel ». C’est-à-dire, l’application de l’ingénierie au logiciel. 

24 

2.1 La crise de logiciel 

20 

La non fiabilité : logiciels souvent en panne 

Difficulté de maintenance : Complexe et coûteuse, trop de 

Chapitre 1 Introduction au génie logiciel 

2.2 Définition 

Processus 

Section 2 Le Génie Logiciel 

Le génie logiciel est défini comme l’ensemble des processus, méthodes ou techniques et outils permettant la construction de systèmes informatiques répondant à des critères de qualité préalablement définis. 

25 

Chapitre 1 Introduction au génie logiciel 

2.3 Objectifs du GL 

Section 2 Le Génie Logiciel 

Le génie logiciel vise à garantir que : 

La spécification répond aux besoins réels de ses 

clients ; 

Le logiciel respecte sa spécification ; 

Le logiciel est de bonne qualité. 

Les coûts alloués de sa réalisation sont respectés ; 

Les délais de sa réalisation sont respectés ; 

27 

Chapitre 1 Introduction au génie logiciel 

2.3 Objectifs du GL 

  • Quoi ? 
  • Définissent les activités à mener 

GL Qualitatif 

GL Quantitatif 

s’appuient sur des s’appuient sur des 

Méthodes 

  • Comment ? 
  • Définissent les techniques à utiliser 

Section 2 Le Génie Logiciel 

Outils 

  • Avec quoi ? 
  • Assistent la mise en œuvre des méthodes 

29 

  • Exemple d’activités 
  • Spécification 
  • Conception 
  • Codage 
  • Installation 
  • Test 
  • Documentation 

Chapitre 1 Introduction au génie logiciel 

2.2 Définition 

Processus 

Chapitre 1 Introduction au génie logiciel 

2.3 Objectifs du GL 

Section 2 Le Génie Logiciel 

Plan de Développement (Planification) 

GL Qualitatif 

GL Quantitatif 

Chapitre 1 Introduction au génie logiciel 

2.3 Objectifs du GL 

30 

Objectifs du GENIE LOGICIEL 

Processus de Développement Cycle de Vie 

s’appuient sur des s’appuient sur des 

  • Exemples de méthodes 
  • Méthode fonctionnelle 
  • L’approche orientée objets 
  • La méthode Merise 

Méthodes 

Un BESOIN de Coordination, Communication et Coopération 

  • Exemples d’outils 
  • Outils de modélisation 
  • Compilateurs et environnements de programmation 
  • Outils d’analyse de programmes et code 
  • Outils de tests 
  • Outils de documentation 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Outils 

12/09/201726 

28 

30 


Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

Section 2 Le Génie Logiciel 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Le maître d’ouvrage est le propriétaire de l’application qui est réalisée. Il est le donneur d’ordre et met en place les financements nécessaires. 

Rôle : 

Assurer la conduite générale du projet (coût, temps,…), 

Veiller au respect des objectifs généraux du projet, 

Produire l’expression des besoins, 

Gérer les enveloppes financières, 

Valider les documents relatifs au projet ainsi que les maquettes et les prototypes, 

Les utilisateurs : ne participent pas au management de projet mais ils sont finalement les vrais juges de la qualité des produits livrés. 

Plusieurs niveaux d’utilisateurs: 

L’utilisateur final utilise l’application quotidiennement. Il apporte les besoins d’ergonomie et d’organisation de son poste de travail, 

Le responsable du service utilisateur donne son avis sur les choix organisationnels, 

Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

Section 2 Le Génie Logiciel 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

La maîtrise d’œuvre ( MOE) entité responsable de la réalisation de l’application pour la maîtrise d’ouvrage. 

Elle regroupe les acteurs suivants : 

Le maître d’œuvre, 

L’équipe projet qui peut regrouper de nombreuses compétences si le projet est complexe 

Le maître d’œuvre est la personne ou l’entité choisie par le maître d’ouvrage pour la réalisation d’un projet dans les conditions de délais, de qualité ainsi que de coûts fixés conformément à un contrat. 

Tâches: 

Affecter les moyens sur le projet. 

Assurer le suivi contractuel avec le maître d’ouvrage. 

Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

Section 2 Le Génie Logiciel 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

12/09/2017Section 2 Le Génie Logiciel 

12/09/2017Section 2 Le Génie Logiciel 

12/09/2017Section 2 Le Génie Logiciel 

La structure organisationnelle d’un projet 

31 

33 

35 

L’utilisateur de niveau hiérarchique supérieur définit les objectifs stratégiques. 

La maîtrise d’ouvrage (MOA): C’est l’entité porteuse du besoin, définissant l’objectif du projet, son calendrier et le budget consacré à ce projet. Le résultat attendu du projet est la réalisation d’un produit, appelé ouvrage

32 

34 

36 

Elle regroupe les acteurs suivants : 

Le maître d’ouvrage 

Les experts du métier 

Les utilisateurs 

Les groupes de validation 

Garantir la qualité des produits finis. 


Chapitre 1 Introduction au génie logiciel 

Section 2 Le Génie Logiciel 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

2.5 Les acteurs du GL L’équipe de développement englobe : 

L’analyste : rédige les spécifications fonctionnelles et non fonctionnelles de l’application 

L’architecte: propose les architectures logicielle et matérielle et identifie les besoins en composants et frameworks. 

Le concepteur : propose la conception détaillée. 

Le développeur : implémente les services décrits dans les spécifications fonctionnelles, en tenant compte de plusieurs facteurs: architecture applicative, frameworks techniques et règles de développement 

2.5 Les acteurs du GL 

Le testeur : prépare les jeux de test et évalue le système avec et/ou sans exécution du code. 

Le qualiticien

définit et met en application les dispositions d’assurance qualité formalisées dans le plan d’assurance qualité. 

définit les actions correctives si les dispositions ne sont pas appliquées. 

Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

Section 2 Le Génie Logiciel 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

2.5 Les acteurs du GL 

12/09/2017Section 2 Le Génie Logiciel 

12/09/2017Section 2 Le Génie Logiciel 

12/09/2017Section 2 Le Génie Logiciel 

Les sous-traitants : pour la réalisation de certaines tâches du projet, le maître d’œuvre peut faire appel à une ou plusieurs entreprises externes lorsqu’il ne possède pas en interne les ressources nécessaires (chaque entreprise est appelée sous- traitant ou prestataire). 

Chaque sous-traitant réalise un sous-ensemble du projet directement avec le maître d’œuvre mais n’a aucune responsabilité directe avec le maître d’ouvrage. 

Le chef de projet désigne la personne retenue par le maître d’œuvre chargée du bon déroulement du projet. 

Le chef de projet est responsable la mise en œuvre du projet en respectant (dans le cadre d’un contrat avec la maîtrise d’œuvre) 

les délais, 

les exigences de qualité. 

Le chef de projet doit gérer au mieux les ressources humaines et matérielles qui sont affectées sur le projet. 

Chapitre 1 Introduction au génie logiciel 

Section 2 Le Génie Logiciel 

2.4 Ethique du GL 

Chapitre 1 Introduction au génie logiciel 

Chapitre 1 Introduction au génie logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

Section 2 Le Génie Logiciel 

2.4 Ethique du GL 

Le comportement éthique implique non seulement le respect de la loi, mais aussi le respect d’un ensemble des principes morales. 

Le génie logiciel implique des responsabilités plus larges que simplement la demande et l’application des compétences techniques. 

Les ingénieurs logiciel doivent se comporter d’une façon honnête et éthiquement responsables s’ils doivent être respectés comme des professionnels. 

Les organisations ACM/IEEE ont accordé et signé un code d’étique de développement des logiciels huit principes liés aux comportement et décisions prises par des ingénieurs logiciel professionnels. 

41 

37 

39 

Exemples: 

  1. INTERËT PUBLIC : les ingénieurs logiciel agiront en respect de 

l’intérêt public. 

  1. CLIENT ET L’EMPLOYEUR : les ingénieurs logiciel agiront dans une façon qui est dans les intérêts supérieurs de leur client et employeur compatible avec l’intérêt public. 
  2. PRODUIT : les ingénieurs logiciel assureront que leurs produits et les 

modifications liées respectent les normes professionnelles. 

  1. JUGEMENT : les ingénieurs logiciel maintiendront l’intégrité et 

l’indépendance dans leur jugement professionnel. 

40 

38 

  1. … 

les coûts 

Chapitre 1 Introduction au génie logiciel Quiz 3 

Libre Graticiel Partagiciel Propriétaire Utiliser Oui Oui Limite 

temporelle et/ou fonctionnelle 

Limité selon licence d’utilisation 

Copier Oui Oui Oui Non sauf 

copie de sauvegarde Etudier Oui Non Non Non Modifier Oui Non Non Non Payer gratuit ou 

payant 

gratuit gratuit (ou 

partiellement) 

payant 

47 

Chapitre 1 Introduction au génie logiciel 

2.6 Les défis devant le GL 

Hétérogénéité des plateformes 

Délivrance (respecter les termes et la qualité à la fois) 

Confiance des usagers 

Responsabilité professionnelles et éthiques (surtout la 

confidentialité) 

Développement par et pour la réutilisation 

Evolution technologique 

Changements sociaux et économiques 

Chapitre 1 Introduction au génie logiciel Quiz 1 

Le logiciel est un ensemble de : 

  • Code ………………… 
  • Données ………………… 
  • Documents ………………… 

Le génie logiciel est un ensemble de : 

  • Processus ………………… 
  • Méthodes ………………… 
  • Outils ………………… 

Section 2 Le Génie Logiciel 

45 

43 

Chapitre 1 Introduction au génie logiciel Quiz 4 

Le Génie Logiciel a 

Objectifs 

Améliorer la QUALITE Améliorer la 

PRODUCTIVITE 

Entrées 

Activités Sortie BESOINS 

DEVELOPPER ET 

LOGICIEL 

MAINTENIR 

Moyens 

Processus 

Méthodes 

Outils 

Chapitre 1 Introduction au génie logiciel Quiz 2 

Quelle est la définition d’un logiciel propriétaire ? 

C’est un logiciel livré avec le code source C’est un logiciel non libre C’est un logiciel payant C’est un logiciel du domaine public 

Qu’est-ce qu’un graticiel (freeware) ? 

Un logiciel propriétaire Un logiciel gratuit Un logiciel utilisable sur tout type d’ordinateur Un logiciel dont le code source est libre 

Quiz 

12/09/201746 


Chapitre 1 Introduction au génie logiciel Quiz 5 

Le maître d’ouvrage est chargé de choisir : Le chef de projet Le maître d’œuvre L’architecte Les sous-traitants Les experts Le qualiticien 

Le chef de projet est chargé de : Sous-traiter le projet Gérer le projet Tester l’application Assurer le bon déroulement du projet Concevoir la solution Choisir l’équipe de développement 

49 

12/09/2017

 

télécharger gratuitement cours de GÉNIE LOGICIEL

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Bouton retour en haut de la page

Adblock détecté

S'il vous plaît envisager de nous soutenir en désactivant votre bloqueur de publicité