c2_Introduction Au Genie Logiciel

download c2_Introduction Au Genie Logiciel

of 74

Transcript of c2_Introduction Au Genie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    1/74

    Introduction au GnieLogiciel

    A. BeugnardMajeure Informatique INF301 GL-C22e semestre 2015

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    2/74

    Les cours de laxe GL de lUV1 - INF301

    1. La dcouverte des objets2. Les cycles de vie des logiciels3. UML structurel et hritage

    4. UML comportemental et concurrence

    2 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    3/74

    Ce quon va voir ensemble

    1. Le dveloppement logiciel2. Notion de cycle de vie3. Notions de qualit

    Je vous invite prendre des notes. . .

    3 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    4/74

    Avancement

    1 Le dveloppement logicielIntroductionMtaphore avec le gnie civil

    2 Notion de cycle de vie

    3 Notions qualit logiciel

    4 Synthse

    4 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    5/74

    Pourquoi sintresser au logiciel ?

    Il y en a partoutMontre ; 2 K instructionsTlviseur ; 100 K instructionsAutomobile ; 150 K instructionsTlphone mobile ; 150 K instructionsCentral tlphonique ; 1 M instructionsSystme du Charles de Gaule ; 8 M instructionsGuerre des toiles (projet Reagan) ; 50 M instructions

    Vous en utiliserezVous en dfinirezVous en raliserez

    5 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    6/74

    Des exemples

    Robothttp://www.youtube.com/watch?v=dKZczUDGp_IAscenseur

    http://www.youtube.com/watch?v=jYdfMkhuvfw

    Contrle arienhttp://www.youtube.com/watch?v=y-38U_BdTGM

    Salle contrle mtrohttp://www.youtube.com/watch?v=SmBAHr9OJnw

    6 / 47 A. Beugnard Introduction au Gnie Logiciel

    http://www.youtube.com/watch?v=dKZczUDGp_Ihttp://www.youtube.com/watch?v=jYdfMkhuvfwhttp://www.youtube.com/watch?v=y-38U_BdTGMhttp://www.youtube.com/watch?v=SmBAHr9OJnwhttp://www.youtube.com/watch?v=SmBAHr9OJnwhttp://www.youtube.com/watch?v=y-38U_BdTGMhttp://www.youtube.com/watch?v=jYdfMkhuvfwhttp://www.youtube.com/watch?v=dKZczUDGp_I
  • 7/25/2019 c2_Introduction Au Genie Logiciel

    7/74

    Les deux grands dfis

    Matriser la tailledes informations/donnesdes systmes (rpartition gographique)des quipes

    7 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    8/74

    Les deux grands dfis

    Matriser la tailledes informations/donnesdes systmes (rpartition gographique)des quipes

    Matiser la duremaintenir sur 10, 25, 30 ansrutiliser

    7 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    9/74

    Les deux grands dfis

    Matriser la tailledes informations/donnesdes systmes (rpartition gographique)des quipes

    Matiser la duremaintenir sur 10, 25, 30 ansrutiliser

    Difficile dans une cole...donc on simuledes

    projets...comme lefil rouge

    7 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    10/74

    Nature dominante

    donne

    interaction algorithme

    12

    3

    4

    5

    6

    1. prvision mto2. distributeur billets

    3. ascenseur4. logiciel de paie5. diteur de texte6. transformation de

    fichier

    8 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    11/74

    Est-ce que a marche ?

    Des erreurs fameuses. . .http://en.wikipedia.org/wiki/Software_bug

    http://www5.in.tum.de/~huckle/bugse.html

    http://www.cs.tau.ac.il/~nachumd/verify/horror.html

    http://www.mines.inpl-nancy.fr/~tisseran/

    cours/qualite-logiciel/qualite_logiciel.

    html

    9 / 47 A. Beugnard Introduction au Gnie Logiciel

    http://en.wikipedia.org/wiki/Software_bughttp://www5.in.tum.de/~huckle/bugse.htmlhttp://www.cs.tau.ac.il/~nachumd/verify/horror.htmlhttp://www.cs.tau.ac.il/~nachumd/verify/horror.htmlhttp://www.mines.inpl-nancy.fr/~tisseran/cours/qualite-logiciel/qualite_logiciel.htmlhttp://www.mines.inpl-nancy.fr/~tisseran/cours/qualite-logiciel/qualite_logiciel.htmlhttp://www.mines.inpl-nancy.fr/~tisseran/cours/qualite-logiciel/qualite_logiciel.htmlhttp://www.mines.inpl-nancy.fr/~tisseran/cours/qualite-logiciel/qualite_logiciel.htmlhttp://www.mines.inpl-nancy.fr/~tisseran/cours/qualite-logiciel/qualite_logiciel.htmlhttp://www.mines.inpl-nancy.fr/~tisseran/cours/qualite-logiciel/qualite_logiciel.htmlhttp://www.cs.tau.ac.il/~nachumd/verify/horror.htmlhttp://www.cs.tau.ac.il/~nachumd/verify/horror.htmlhttp://www5.in.tum.de/~huckle/bugse.htmlhttp://en.wikipedia.org/wiki/Software_bug
  • 7/25/2019 c2_Introduction Au Genie Logiciel

    12/74

    Constats stables depuis 20 ans !

    52.19604:Russite

    29%

    138.59253:Echec

    19%

    266.39648:Mitig

    52%

    10 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    13/74

    Citations

    Les professionnels de linformatique se distinguent desautres par la pitre qualit de leur production. Ils nefournissent pas de garantie de leurs logiciels, pire, ilsdgagent leur responsabilit pour toutes les erreurs queleurs produits pourraient contenir.

    Cit. approx. C.A.R. Hoare

    Aujourdhui les problmes importants (de la production delogiciel) ne sont pas des problmes techniques, mais des

    problmes de gestion.Prsident dun groupe de travail du DoD pour

    lamlioration de lacquisition de logiciel

    11 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    14/74

    Logiciel / Matriel

    Le matriel cote de moins en moins cher.Le logiciel est de plus en plus coteux.

    12 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    15/74

    Introduction au gnie logiciel

    Vous avez des bases de programmation. . . maisProgrammernest pas ConcevoirLa technique ? ncessaire, mais pas si importanteque a!Le VRAI problme difficile : organisation, gestion

    difficult de formalisationmultitude de paramtres, facteursgestions des humains

    13 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    16/74

    Gnie logiciel : dfinitions

    Ensemble de moyens (techniques, mthodes) misen uvre pour la construction de systmesinformatiques ( logiciel prpondrant).

    Ensemble de moyens (techniques, mthodes) misen uvre pour la construction de logiciels.

    14 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    17/74

    Les principaux acteurs

    Client (MOA)Analyse les besoinsRdige un cahier des

    chargesFait un appel doffrevalue les rponses

    Choisit un prestataireSuit, participeRecette le produit

    Fournisseur (MOE)

    Analyse les besoinsRpond un appel doffre(analyse, faisabilit,intrt, prvisions,planification)

    Conoit, raliseLivre le produit

    15 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    18/74

    Les principaux objectifs

    Client (MOA)Exprimer des besoins

    FonctionnelsOprationnels

    Non-fonctionnels (Qualit)Accepter le produit

    Valider (fait ce quil faut)

    Fournisseur (MOE)

    Satisfaire les besoinsChoix de conception

    Choix techniquesProgrammes, configurations,donnes

    Livre le produitValider (fait ce quil faut)Vrifier (bien faire le travail)

    16 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    19/74

    Objectifs de ce cours

    Contexte du dveloppement logicielExemples et problmesPourquoi cest difficile

    Les tapes dun cycle de vie

    Les exigences dun systmeDes outils du dveloppement logiciel

    17 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    20/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    21/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    22/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    23/74

    De nombreuses rponses

    Des tches connues. Un planning.De nombreux experts. Des documents.Nombreux outils. Nombreux spcialistes.

    Des plans multiples.Plan doccupation des sols. Permis de construire.Prsence sur le chantier.. . .

    En dveloppement logiciel, cest pareil !

    20 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    24/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    25/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    26/74

    Avancement

    1 Le dveloppement logiciel

    2 Notion de cycle de vie

    3 Notions qualit logiciel

    4 Synthse

    23 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    27/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    28/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    29/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    30/74

    De la cration. . .

    AnalyseComprendre le problmeComprendre les besoins (exigences)Exprime le problme :spcifier

    Conceptions

    Ralisation

    25 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    31/74

    De la cration. . .

    AnalyseComprendre le problmeComprendre les besoins (exigences)Exprime le problme :spcifier

    Conceptions: comment dfinir ?

    Ralisation

    25 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    32/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    33/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    34/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    35/74

    ... la recette

    Tests unitairesTests dintgration

    Tests systme

    Recette

    26 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    36/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    37/74

    l

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    38/74

    ... la recette

    Tests unitairesPour validation et vrification par composant

    Tests dintgration : comment dfinir ?

    Tests systme

    Recette

    26 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    39/74

    l

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    40/74

    ... la recette

    Tests unitairesPour validation et vrification par composant

    Tests dintgrationPour validation et vrification par sous-systmes

    Tests systme : comment dfinir ?

    Recette

    26 / 47 A. Beugnard Introduction au Gnie Logiciel

    l tt

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    41/74

    ... la recette

    Tests unitairesPour validation et vrification par composant

    Tests dintgrationPour validation et vrification par sous-systmes

    Tests systmePour validation fonctionnelle complte du systmePour validation non-fonctionnelle complte du systme(Car les proprits non-fonctionnelles sontmergentes)

    Recette

    26 / 47 A. Beugnard Introduction au Gnie Logiciel

    l tt

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    42/74

    ... la recette

    Tests unitairesPour validation et vrification par composant

    Tests dintgrationPour validation et vrification par sous-systmes

    Tests systmePour validation fonctionnelle complte du systmePour validation non-fonctionnelle complte du systme(Car les proprits non-fonctionnelles sontmergentes)

    Recette : comment dfinir ?

    26 / 47 A. Beugnard Introduction au Gnie Logiciel

    l tt

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    43/74

    ... la recette

    Tests unitairesPour validation et vrification par composant

    Tests dintgrationPour validation et vrification par sous-systmes

    Tests systmePour validation fonctionnelle complte du systmePour validation non-fonctionnelle complte du systme(Car les proprits non-fonctionnelles sontmergentes)

    RecettePour validation des conditions oprationnelles

    26 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    44/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    45/74

    Et la maintenance ?

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    46/74

    Et la maintenance ?

    D70 D80 F80 D90Cot 40%

    (Source DATAMATION 15/2/1990)

    28 / 47 A. Beugnard Introduction au Gnie Logiciel

    Et la maintenance ?

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    47/74

    Et la maintenance ?

    D70 D80 F80 D90Cot 40% 55% 75% 90%

    (Source DATAMATION 15/2/1990)

    28 / 47 A. Beugnard Introduction au Gnie Logiciel

    Et la maintenance ?

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    48/74

    Et la maintenance ?

    D70 D80 F80 D90Cot 40% 55% 75% 90%

    (Source DATAMATION 15/2/1990)

    Dure de vie augmenteBesoins changentTechnologies changentComplexit augmente

    28 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    49/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    50/74

    Des outils et donc des experts (processus)

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    51/74

    Des outils et donc des experts (processus)

    Pour organiserPlanificationModlisation de processus (workflow)

    Pour partagerForges, outils de gestion de version (RCS, CVS, SVN)

    Pour communiquerCourrielEspaces collaboratifs

    31 / 47 A. Beugnard Introduction au Gnie Logiciel

    CASE tools; IDE; AGL; etc

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    52/74

    CASE tools; IDE; AGL; etc

    Des outils proposent dintgrer tous ces outils diversen une bote outils universelle.On parle (en franais) dAtelier de Gnie Logiciel ou(en anglais) dIntegrated Development Environment

    ou de Compter-Aided Software Engineering. . . parexemple :eclipsenebeans

    jazz

    32 / 47 A. Beugnard Introduction au Gnie Logiciel

    Avancement

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    53/74

    Avancement

    1 Le dveloppement logiciel

    2 Notion de cycle de vie

    3 Notions qualit logiciel

    4

    Synthse

    33 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    54/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    55/74

    Qualit et satisfaction

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    56/74

    Q

    On distingue :

    la qualit attendue par le clientla qualit voulue par le fournisseur (interprtation dela prcdente)la qualit ralise par le fournisseurla qualit perue par le client

    35 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    57/74

    Un brin dhistoire

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    58/74

    Contrle qualit (1910) on retire les produits nonconformes

    Matrise de la qualit (1950) on prvient lapparitionde non-conformit (ISO 9000 v 1987-1994)

    Management de la qualit (1951) la qualit est unoutils de management (ISO 9000 v 2000)Amlioration continue (1951) on entre dans une

    dynamique damlioration (CCM,

    ISO 15504)Il faut distinguer les premires expriences. . . de lastandardisation des pratiques.

    36 / 47 A. Beugnard Introduction au Gnie Logiciel

    LAssurance Qualit : Dfinition

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    59/74

    Ensemble des activits prtablies etsystmatiques mises en uvre dans le cadre dusystme qualit et dmontres en tant que debesoin, pour donner la confiance approprie en ce

    quune entit satisfera aux exigences pour laqualit

    (ISO 8402, 1995)

    LAssurance qualit sapplique aux produits (logiciels,matriels, services) ainsi quaux processus mis enuvre.

    37 / 47 A. Beugnard Introduction au Gnie Logiciel

    LAssurance Qualit : Objectif

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    60/74

    La mise en uvre du processus dAssurance qualitpermet de garantir que

    le logiciel labor est conforme ses exigenceslensemble des processus mis en uvre se droulentconformment aux modalits retenues (= prvisions)

    Elle permet de donner confiancedans la qualit deslogiciels produits au chef de projet, la hirarchie et

    au client.

    38 / 47 A. Beugnard Introduction au Gnie Logiciel

    Dfinir les exigences : le rle du client

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    61/74

    Les fonctionsLes qualit du service

    Les qualits du produit

    39 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    62/74

    Dfinir les exigences : le rle du client

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    63/74

    Les fonctionsLes qualit du service

    EfficacitDisponibilitScurit

    Passage lchelleLes qualits du produitConformitPortabilitMaintenabilit

    Comment dfinir ?boolen ? entier ? rel ? quelle unitquelle signification ?

    39 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    64/74

    Quelques facteurs : ISO 9126

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    65/74

    Capacit fonctionnelle Ensemble dattributs portantsur lexistence dun ensemble de fonctionset leurs proprits donnes. Les fonctionssont celles qui satisfont aux besoins

    exprims ou implicites.Fiabilit Ensemble dattributs portant sur laptitudedu logiciel maintenir son niveau de servicedans des conditions prcises et pendant une

    priode dtermine.

    40 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    66/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    67/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    68/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    69/74

    Mesurer lapplication des critres

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    70/74

    Mesures produit service processus ObjectiveRponse(oui/non)Enqute(0 5)

    44 / 47 A. Beugnard Introduction au Gnie Logiciel

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    71/74

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    72/74

    Conclusion

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    73/74

    Ce cours est une introduction

    Il insiste sur limportance de lorganisationLa technique est naturellement ncessaire

    Lorganisation est malheureusement indispensable(malheureusement, car moins attrayante pour destudiants)

    Il introduit des lments de vocabulaire connatre(qui seront vus et revus pendant le filrouge)

    46 / 47 A. Beugnard Introduction au Gnie Logiciel

    Vocabulaire

  • 7/25/2019 c2_Introduction Au Genie Logiciel

    74/74

    Cycle de viePlanificationSpcifier

    Exigence(Facteur)CritreMtrique

    AnalyseConceptionRalisation

    TestIntgrationRecette

    AGL (IDE)UMLCompilateur

    Base de donnesJUnit

    47 / 47 A. Beugnard Introduction au Gnie Logiciel