conceptions Conception orientée objets avancé ?· 1 Conception orientée objets avancée Licence 3…

Embed Size (px)

Text of conceptions Conception orientée objets avancé ?· 1 Conception orientée objets avancée Licence...

  • 1

    Conception orienteobjets avance

    Licence 3 Informatique Semestre 6, 2009-2010

    Philippe Collet

    2Ph. Collet

    Pourquoi ?

    Connatre (lessentiel d) UML ne suffit pas pour raliser de bonnes conceptions

    UML nest quun langage, une notation

    En plus, il faut :Savoir penser et coder en termes dobjets (cf. POO)

    Savoir organiser lanalyse et la conception

    grande chelle

    A laide de guides mthodologiques adapts au(x) problme(s)

    Sans vision dogmatique

    Mais en rutilisant des bons principes communs

    3Ph. Collet

    Objectif de lUE

    Vous sensibiliser l'ingnierie des systmes d'information.

    Vous donner une vision complte de l'activit de conception au sens large (analyse, conception, spcification) dans le cycle de dveloppement logiciel.

    Vous faire mettre en pratique les diffrentes activits qui constituent l'tape de conception suivant un processus de dveloppement.

    Vous faire travailler en quipe, mais aussi plusieurs quipes communicantes !

    4Ph. Collet

    Programme

    Introduction

    Rappels sur le gnie logiciel, les activits danalyse et de conception

    Mthodes et processus de conception

    Organisation des TD

    Processus Unifis et RUP

    Processus agiles

    Conclusion

  • 2

    5Ph. Collet

    Organisation

    Crdit4 ECTS

    Enseignement6h de cours

    18h de TD

    12h de TP

    EvaluationProjet tout le long de lenseignement par quipe de 4

    Rappels

    (ou pas)

    7Ph. Collet

    Gnie logiciel

    Dfinition (software engineering update, january 2009)ensemble de mthodes, techniques et outils pour la production et la maintenance de composants logiciels de qualit

    Principesrigueur et formalisation, sparation des proccupations, modularit, abstraction, prvision du changement, approche gnrique, approche incrmentale

    Besoins Langages pour dcrire

    Outils pour manipuler

    Mthodes pour dcider

    Thories pour dmontrer

    Professionnels pour raliser

    Logistique pour supporter8Ph. Collet

    Qualits pour lutilisateur (phases dexploitation)

    Fiabilit = Validit + RobustesseValidit correction, exactitude : assurer exactement les fonctions attendues, dfinies dans le cahier des charges et la spcification, en supposant son environnement fiableRobustesse: faire tout ce quil est utile et possible de faire en cas de dfaillance: pannes matrielles, erreurs humaines ou logicielles, malveillances

    PerformanceUtiliser de manire optimale les ressources matrielles : temps dutilisation des processeurs, place en mmoire, prcision

    ConvivialitRaliser tout ce qui est utile lutilisateur, de manire simple, ergonomique

    Extensibilit, Compatibilit, Intgrit (scurit)

  • 3

    9Ph. Collet

    Qualits pour le dveloppeur (phases de devt)

    DocumentationTout ce quil faut, rien que ce quil faut, l o il faut, quand il faut, correcte et adapte au lecteur

    Modularit = Fonctionnalit + Interchangeabilit + RutilisabilitFonctionnalit : Localiser un phnomne unique, facile comprendre et spcifier

    Interchangeabilit : Pouvoir substituer une variante dimplmentation sans consquence fonctionnelle (et souvent non-fonctionnelle) sur les autres parties

    Rutilisabilit : Aptitude tre rutilis, en tout ou en partie, tel que ou par adaptation, dans un autre contexte : autre application, machine, systme

    VrifiabilitAptitude dun logiciel tre test

    PortabilitAptitude dun logiciel tre transfr dans des environnements logiciels et matriels diffrents

    10Ph. Collet

    Gnie logiciel : le dfi

    Contradictions apparentesQualits vs cot du logicielQualits pour lutilisateur vs qualits pour le dveloppeurContrler vs produire

    ConsquencesChercher sans cesse le meilleur compromisAmortir les cots

    Premier exemplaire de composant coteux produire ou acheter, puis amortissement

    Grer un projet informatique de manire spcifique (avec des mthodesspcifiques)

    11Ph. Collet

    Organisation dun projet informatique

    La matrise duvreEntit responsable de la concrtisation de lide en outil informatiquePas de connaissance fonctionnelleBons choix techniques, adquation avec les besoins, performances

    La matrise douvrageEntit responsable de lexpression du besoinSouvent non informaticienBesoin rel / budget

    12Ph. Collet

    Comment grer un projet informatique ?

    Dfinir et utiliser des mthodesspcifiant des processus de dveloppement

    organisant les activits du projet

    dfinissant les artefacts du projet

    se basant sur des modlespas des modles objets, des modles de cycle de vie

    Modles de cycle de vieorganiser les diffrentes phases du cycle de vie pour l'obtention d'un logiciel fiable, adaptable et efficace, etc.

    guider le dveloppeur dans ses activits techniques

    fournir des moyens pour grer le dveloppement et la maintenance

  • 4

    13Ph. Collet

    Les phases du cycle de vie

    Objectifs

    Dfinition

    des besoins

    Analyse

    des besoins

    Planification

    Maintenance

    Mise en

    exploitation

    Qualification

    Validation et

    IntgrationImplmentation

    et tests unitaires

    Conception

    Retrait ou

    remplacement

    14Ph. Collet

    Mais cest quoi un cycle de vie ?

    Cycle de vie : dfinitionDescription dun processus pour la cration dun produit, sa distribution sur un march, son retrait

    Cycle de vie et assurance qualitValidation : le bon produit ?

    Vrification : le produit correct ?

    Le cycle de vie sorganise autour de lassurance qualit

    Deux types principaux de modlesModle linaires : en cascade et variantes

    Modles non linaires : en spirale, incrmentaux, itratifs

    15Ph. Collet

    Modle en cascade (1970)

    Analyse des besoinsvrificationSpecif. fonctionnelles

    vrificationPlanification

    vrification

    Conceptionvrification

    Implmentationtests unitaires

    Intgrationtests

    Qualificationtests

    Exploitation

    Retrait

    Changementdans lexpression

    des besoins

    vrification

    Les vrais projets suivent rarement un dveloppement squentiel

    tablir tous les besoins au dbut dun projet est difficile

    Le produit apparat tard

    Echecs majeurs sur de grands systmes16Ph. Collet

    Modle en V

    Meilleure anticipation

    Bonne structuration des tests

    Cadre de dveloppement rigide

    Le produit apparat toujours tard

    Qualification

    Conception globale

    Intgration

    Conceptiondtaille

    Testsunitaires

    Programmation

    Dfinition des tests

    Dfinition du plan d intgration

    Spcifications fonctionnelles& planification

  • 5

    17Ph. Collet

    Modle en spirale (Boehm, 1988)

    Incrments successifs => itrationsApproche souvent base de prototypesNcessite de bien spcifier les incrmentsFigement progressif de lapplication

    Mais gestion de projet pas vidente

    Pourtant, les mthodes objets drivent de ce modle !

    Mthodes et processus de conception

    19Ph. Collet

    Dfinitions

    Modle (comme UML)Notation pour reprsenter, formalisme

    Pour partager linformation, uniformiser, mcaniser (transformation vers le code)

    MthodeGuide plus ou moins formalis

    Dmarche reproductible permettant dassurer la qualit

    ProcessusA peu prs la mme dfinition quune mthode

    ensemble de directives et dtapes destines produire des logiciels de manire contrle et reproductible, avec des cots prvisibles, prsentant un ensemble de bonnes pratiques autorises par ltat de lart

    20Ph. Collet

    Dfinitions (suite)

    Une mthode dfinit des concepts de modlisation

    obtenir des modles partir dlments de modlisation, sous un angle particulier, reprsenter les modles de faon graphique

    une chronologie des activits (quand construit-on les modles)

    un ensemble de rgles et de conseils

    Une mthode peut donc reposer sur un processus= notation + artefact (ce qui est manipul) + dmarche

    On distingue souvent :Les processus de dveloppement technique

    Les processus de gestion du dveloppement lui-mme

  • 6

    21Ph. Collet

    Evolution des mthodes

    Premires mthodes (annes 60-70)Suite la crise du logiciel

    Guide par dcoupage en sous-problmes, analyse fonctionnelle

    Mthodes danalyse structure

    Mthodes orientes bases de donnes (annes 80 et suivantes)Concevoir la base de donnes est central au systme dinformation

    Mthodes globales qui sparent donnes et traitements

    Mthodes pour la conception avec rutilisation (annes 95 et suivantes)

    Frameworks, Design Patterns, bibliothques de classes (orientes objets)

    Mthodes incrmentales unifies par une notation commune (UML)

    22Ph. Collet

    Quelles activits sont couvertes par les mthodes ?

    Cinq grandes activits mergent de la pratique de dveloppement et de gestion de projet

    Spcification des besoins

    Analyse (recherche du bon systme)

    Conception (lie limplmentation, la construction)

    Implmentation (activit la plus coteuse)

    Tests (activit la plus nglige)

    Organisationdes TD

    24Ph. Collet

    TD, quipes, sujets

    20 personnes environ par TD

    5 quipes de 4 pour 5 sujets

    Les quipes sont formes par consensus par les tudiants d'un mme groupe de TD

    Les sujets sont tirs au sort

    Chaque sujet a au moins un lien avec un autre sujet, il ncessitera donc une collaboration entre les deux quipes concernes, au moins au niveau des cas d'utilisation

    Chaque sance de TD est l'occasion d'avancer dans une partie de la modlisation

  • 7

    25Ph. Collet

    Droulement et valuation

    6 sances de TD (3h) pour dmarrer la conception

    4 sances de TD machine (3h) pour terminer la conception et utiliser un outil