Unified Modeling Language

Dimension: px
Commencer à balayer dès la page:

Download "Unified Modeling Language"

Transcription

1 Unified Modeling Language Sémantique et usage dans le de développement du logiciel Christelle URTADO LGI2P / ECOLE DES MINES D ALES Objectifs de ce cours Présenter le langage UML et son usage dans le de développement logiciel Eléments de spécification du langage Présentation des différents types de diagrammes Usage d UML pour soutenir le de développement logiciel UML demain : les tendances de l évolution Déroulement 6 heures de cours 6 heures de TD 1

2 Plan Introduction un langage pour modéliser Les principaux types de diagrammes diagrammes structurels de classes, d objets, de composants, de déploiement diagrammes comportementaux de cas d utilisation, de séquence, d états, d activité, de communication Usage d UML dans le de développement logiciel Conclusion UML demain : les tendances de l évolution Bibliographie UML, qu'est ce que c'est? UML est un langage destiné à modéliser des systèmes (souvent logiciels), (principalement) graphique, unifié et semi-formel. Un langage Un langage est une sorte de formalisme que l'on utilise pour décrire une réalité abstraite. On distingue plusieurs composantes d'un langage : le lexique (les mots), la syntaxe (la grammaire), la sémantique (le sens). Un langage est généralement redondant («trop» riche). destiné à modéliser des systèmes (souvent logiciels) Un système est une partie bien circonscrite d'un dispositif réel, matériel ou immatériel, existant ou en cours de construction. Un modèle est une représentation d'un système dirigée par des objectifs. Décrire un modèle (abstrait) nécessite d'utiliser un langage. 2

3 UML, qu'est ce que c'est? UML est un langage destiné à modéliser des systèmes (souvent logiciels), (principalement) graphique, unifié et semi-formel. (principalement) graphique Les mots sont des boîtes, des cercles, des arcs, des flèches,... La grammaire et la sémantique sont un ensemble de diagrammes : qui agencent les mots, qui sont destinés à exprimer quelque chose de particulier. unifié UML existe depuis UML est un langage qui résulte de la fusion de trois méthodes de conception orientée objet. Booch'93 de Grady Booch, OMT de James Rumbaugh, OOSE de Ivaar Jacobson. UML est standardisé par un consortium international l'object Management Group. La version actuelle d'uml est la 2.3 (publiée en Mai 2010) Au 3 Nov. 2010, le document de spécification de la version 2.4 est en cours de finalisation) UML, qu'est ce que c'est? UML est un langage destiné à modéliser des systèmes (souvent logiciels), (principalement) graphique, unifié et semi-formel. semi-formel Plus un langage est formel moins il est ambigu. Un langage formel est précis, compact. Moins un langage est formel plus il est «naturel» à utiliser. 3

4 UML, qu'est-ce que cela n'est pas? UML est n'est pas une méthode de développement orientée objet. UML n'est pas une méthode. A la différences des méthodes dont il est issu, Les diagrammes UML sont redondants entre eux; ils peuvent servir de support à différentes méthodes de développement orienté-objet; certains peuvent être plus adaptés à des systèmes particuliers... UML : à quoi ça sert? Modéliser. Pourquoi? Concevoir un système en devenir définir, exprimer, prendre du recul, maîtriser la complexité (décomposition), détailler (formaliser plus qu'une description en langage naturel). Analyser un système existant (rétro ingénierie) se représenter, prendre du recul, comprendre (pour corriger, pour re-concevoir, pour faire évoluer). Documenter garder une trace des choix, fournir une vue synthétique, discuter / juger avant la réalisation Générer, simuler, exécuter générer (autant que possible) du code et/ou de la documentation pour valoriser le travail réalisé en conception (ne pas re-faire), modéliser = réaliser? 4

5 UML : 13 différents types de diagrammes UML propose 13 différents types de diagrammes permettant de représenter différents aspects, facettes, points de vues du système. On classe ces diagrammes en 2 catégories : Diagrammes structurels vue statique du système (ce qu'il est) Diagrammes comportementaux vue dynamique du système (comment il fonctionne) Les diagrammes structurels : diagramme de classes diagramme d'objets diagramme de composants diagramme de déploiement diagramme de paquetage diagramme de structure composite UML : 13 différents types de diagrammes UML propose 13 différents types de diagrammes permettant de représenter différents aspects, facettes, points de vues du système. On classe ces diagrammes en 2 catégories : Diagrammes structurels vue statique du système (ce qu'il est) Diagrammes comportementaux vue dynamique du système (comment il fonctionne) Les diagrammes comportementaux : diagramme de cas d'utilisation diagramme de vue générale d interaction diagramme de séquence diagramme temporel diagramme d'activités diagramme de communication (collaboration) diagramme d'états 5

6 UML : 13 différents types de diagrammes Taxonomie des diagrammes de structure et de comportement Source: OMG «UML superstructure v2.1.2», annexe A, page 697, Nov 2007 UML : 13 différents types de diagrammes Collage of UML diagrams Source: Wikipedia, [11/03/2010]. 6

7 Diagramme de classes Sémantique Les diagrammes de classes représentent la structure statique du système en termes de classes (concepts) et de relations (relations entre concepts). Diagramme de classes nom de la classe attribut Différentes représentations d'une classe méthode Les classes représentent les concepts qui composent le système. Les attributs des classes sont les données (propriétés) relatives à ces concepts. Les méthodes des classes définissent les opérations que savent réaliser les classes, leur comportement. 7

8 Diagramme de classes Attributs et méthodes Un attribut : est une propriété des objets de la classe. est défini par un nom et un type complétés éventuellement par une visibilité et une valeur initiale. Une méthode : est une fonctionnalité de la classe, qui s applique sur les objets de classe. est définie par un nom, des arguments (couples nom :type séparés par des,) et un type de retour. Exemples : Signe Visibilité Signification - isvalidated : Boolean = false + centre : Point + public visible pour tous les utilisateurs de la classe - issmaller (compareto: Objet): Boolean + doublefloat () : float # - protégé privé visible pour toutes les instances des sous-classes de la classe visible pour les instances de la classe uniquement Diagramme de classes Relations entre classes Dans un système, les classes sont interdépendantes. Ces dépendances seront modélisées par des relations entre classes. UML propose différents types de relations (différentes sémantiques) : la relation de généralisation / spécialisation, l'association, l'agrégation, la composition. agrégation généralisation association 8

9 Diagramme de classes Relation d association La relation d association: indique que deux concepts sont liés, liera les instances des deux classes. association La relation «Mariage» relie éventuellement deux instances de la classe «Adulte». La relation «Filiation» relie toute instance de la classe «Enfant» à ses deux parents, instances de la classe «Adulte». Diagramme de classes Relation d association - Rôles et cardinalités Les rôles qualifient les extrémités d une association. Les cardinalités (multiplicités) permettent d exprimer le nombre d instances d une classe extrémité qui sont en relation. card 1 nom_assoc. card 2 Classe 1 Classe 2 rôle 1 rôle 2 Pour l association «nom_assoc.», la classe «Classe 1» joue le rôle «rôle 1» et ses instances sont en nombre «card 1» alors que la classe «Classe 2» joue le rôle «rôle 2» et que ses instances sont en nombre «card 2». Cardinalité Signification Exemples i exactement i 1 i..j de i à j 0..5 i..* au moins i (de i à l infini) 0..*, 1..* 9

10 Diagramme de classes Relation d'agrégation La relation d'agrégation est une relation d'association particulière, exprime la relation tout / partie, signifie «est composé de», «est constitué de». tout - composite agrégation partie - composant Le losange se situe du côté du composite. Diagramme de classes Relation d'agrégation - relation de composition La relation de composition est une spécialisation (plus contraignante) de l'agrégation : les composants sont exclusifs: un objet composant ne peut appartenir qu'à un seul objet composite, les composants sont dépendants: la destruction de l'objet composite entraîne la destruction des objets composants. composition La relation de composition se représente avec un losange noir. agrégation 10

11 Diagramme de classes Relation de généralisation La relation de généralisation / spécialisation : est une relation d'ordre partiel entre concepts (classes), permet d'organiser les concepts du plus général («en haut»), vers le plus spécifique («en bas»). signifie «est une sorte de». super-classe généralisation sous-classe On peut lire les relations de généralisation comme des inclusions ensemblistes : parmi l'ensemble des EtreHumain, il y a ceux qui sont des Enfant et ceux qui sont des Adulte. Diagramme de classes Paquetages Les paquetages permettent de faire des regroupements logiques de classes. Ils peuvent être mis en relation : Généralisation : factorisation de la définition des packages Inclusion : au sens ensembliste Import : indication que le package source importe les éléments publics du package destination Access : indication que le package source accède aux éléments publics du package destination Mon paquetage Mon second paquetage Classe1 Classe2 <<import>> Classe3 Classe4 Classe5 11

12 Diagramme de classes Les stéréotypes permettent d ajouter une information de type sur les classes, les associations. Ils se notent entre << et >> Les interfaces représentent des types abstraits (liste de fonctionnalités sans données). Elles se notent comme les classes avec le stéréotype <<interface>>. Interfaces et stéréotypes UneClasse <<interface>> UneInterface réalise, implémente Quelques stéréotypes prédéfinis : <<énumération>>, <<utilitaire>>, <<acteur>>, <<interface>>, <<exception>>. Diagramme d'objets Sémantique et notation Les diagrammes d objets : donnent une vue instantannée de la façon dont est instancié un diagramme de classes. permettent d illustrer : des états particuliers du systèmes (d un point de vue statique), la structure générale du système lorsque celle-ci est difficile à comprendre au niveau classe (par exemple, dans le cas de relations «récursives» entre classes). Différentes représentations des objets : nom de l objet nom de l objet:nom de la classe :nom de la classe :nom de la classe Il est possible de mentionner des valeurs pour des attributs significatifs et de nommer des états dans lesquels sont les objets. chauffagechambre:radiateur [chaud] température=35 12

13 Diagramme d'objets Martin:Famille Exemple Jean:Adulte mari femme Jeanne:Adulte Jonathan:Enfant Juliette:Enfant Jérémy:Enfant une instanciation possible Il n y a plus de cardinalités (elles valent toutes 1). Les rôles peuvent être représentés. Diagramme de composants Sémantique Un composant est une unité réutilisable : qui contient des classes, qui expose ses capacités sous la formes d interfaces ou de ports fournis et ses besoins sous la forme d interface ou de ports requis. Un diagramme de composants représente un assemblage de composants par connexion d interfaces ou de ports de types compatibles. composant interface requise interface fournie 13

14 Diagramme de composants Interfaces et ports Une interface présente un ensemble de fonctionnalités (toutes) fournies ou requises par un composant. Un port : est un concept de granularité plus élevée. regroupe des interfaces : toutes fournies, toutes requises ou des deux types. sert à représenter des collaborations du point de vue d un composant. port interface L assemblage des composants se fait par «type-matching» entre interfaces ou entre ports. Diagramme de déploiement Sémantique Les diagrammes de déploiement illustrent : la disposition physique des différents dispositifs sur lequel doit s exécuter l application. la répartition des différentes composants du système sur les différents dispositifs physiques. 14

15 Diagramme de déploiement Un diagramme de déploiement est constitué: de nœuds représentant les dispositifs physiques exemples: PC, serveur de BD, imprimante, terminal, serveur web,... de composants «attachés» à des nœuds de liens représentant les communications entre nœuds. Notation et exemple nœud composant lien Diagramme de cas d'utilisation Sémantique Les diagrammes de cas d'utilisation représentent les fonctions remplies par le système, du point de vue des acteurs de son environnement (utilisateurs, humains ou non). cas d utilisation acteur inclusion généralisation Les diagrammes de cas d utilisation capturent les besoins fonctionnels. 15

16 Diagramme de cas d'utilisation Les acteurs : sont des utilisateurs ayant des rôles différents, sont à l extérieur du système, Notation peuvent représenter des utilisateurs humains du système ou d autres systèmes automatisés pouvant agir sur le système. Les relations : Notation Nom Signification «include» communication généralisation include relation reliant un acteur au cas d utilisation qu il peut utiliser relation reliant un cas d utilisation à un autre, plus général relation reliant un cas d utilisation à un autre, qu il utilise (permet de «factoriser» des cas d utilisation). «extend» extend relation reliant un cas d utilisation à un autre, qui définit des extensions particulières (par exemple des cas d erreurs peu fréquents qu on ne souhaite pas inclure dans le cas d utilisation principal). Diagramme de séquence Sémantique Les diagrammes de séquence sont une représentation temporelle des objets et de leurs interactions. Particulièrement adaptés à la description de systèmes où le temps a une importance (temps réel) et où peu d objets sont impliqués dans la réalisation d une fonctionnalité. 16

17 Diagramme de séquence Notation objet ligne de vie d un objet message asynchrone émis par un objet message synchrone émis par un objet période d activation d un objet Diagramme de séquence Notation Les objets : sont des instances de classes du système, :unrole unobjet:uneclasse ou des acteurs qui agissent sur le système. La ligne de vie des objets : représente le temps pendant lequel il existe. si l objet est créé durant la séquence, le message de création pointe vers l objet. si l objet est détruit durant la séquence, sa ligne de vie se termine par une croix. La période d activation : représente la durée pendant laquelle un objet est actif et occupé à réaliser une action. unobjet:uneclasse <<create>> blabla () unautreobjet:uneautreclasse <<destroy>> 17

18 Diagramme de séquence Les messages : représentent les interactions entre objets appels de procédure, signaux, événements, Notation peuvent être synchrones ou asynchrones, représenter des retours du flot de contrôle (avec ou sans valeur de retour) comporter des étiquettes. appel synchrone (de procédure) retour Dans le cas d appels synchrones, le flot de contrôle ne revient à l appelant qu une fois les activités appelées terminées (imbrication). Diagramme de séquence Notation Lorsqu un objet s envoie à lui-même un message : on parle de réflexivité (voire de récursivité). Le rectangle d activation se «dédouble». Les structures de contrôle habituelles (boucles, alternatives, parallèle, ) se représentent grâce à des boîtes étiquetées contenant des «fragments d interactions». 18

19 Diagramme de collaboration Sémantique et notation Les diagrammes de collaborations sont une représentation spatiale des objets et de leurs communications. objet communication entre objets La base du diagramme de collaboration est un diagramme d objets auquel on rajoute les différentes communications (principalement appels de méthodes) entre objets, numérotées. La numérotation peut prendre une forme hiérarchique. Exemple : Les communications asynchrones sont représentées par une demi-flèche. Ces diagrammes sont largement redondants avec les diagrammes de séquence. Diagramme d'activités Sémantique et notation Les diagrammes d'activités représentent le comportement d'une méthode, d'un cas d'utilisation ou d un métier. état initial condition activité point de décision (alternative) état final 19

20 Diagramme d'activités Dans le cas où le diagramme représente un métier, on peut être amené à le partitionner. client fournisseur banquier Notation Trois partitions du diagramme global fork join Il peut exister des partitions selon deux dimensions (quadrillage). Diagramme d'états Sémantique Les diagrammes d états / transitions permettent de représenter la dynamique du comportement (interne) des instances d une classe. automate à états finis, formalisme des statecharts (David Harel) Un diagramme représente : les différents états internes possibles d un objet les évolutions possibles d un état vers un autre, en fonction d événements perçus par l objet (appel de méthodes, événements). Il y a au plus un diagramme d états par classe d objets. A tout instant, un objet occupe un seul état du diagramme. Pour sortir d un état, un objet ne franchit qu une seule transition, le menant à un seul nouvel état (déterminisme). 20

21 Diagramme d'états Sémantique et notation : les états Les états : identifient des situations particulières (désignables) d un objet : représentent des valeurs pour ces objets (c est à dire des combinaisons particulières de valeurs d attributs) représentent des «moments» durables dans la vie de l objet dont la fin sera déclenchée par l occurrence d un événement perceptible par l objet. Exemple Un radiateur est dans l état «en chauffe» si sa résistance est allumée. Il sortira de cet état si on tourne le thermostat de telle façon que la température cible soit inférieure à la température de la pièce ou si on l éteint. Les actions internes décrivent ce que fait l objet pendant qu il est dans cet état (en y entrant, avant d en sortir, tout au long). Deux pseudo-états : les états initiaux (exactement un) et finaux (éventuellement plusieurs). état initial état final Nom de l état Actions internes Sous états Diagramme d'états Sémantique et notation : les états Actions internes étiquette / liste d actions Etiquettes possibles : entry : liste d actions exécutées pour gérer l entrée dans cet état (en entrant), exit : liste d actions exécutées pour gérer la sortie de cet état (avant d en sortir), do : activité exécutée par l objet pendant qu il est dans cet état. L activité est exécutée jusqu à ce que l objet quitte l état (réception d un événement) ou que l activité s achève d elle même (événement de complétion implicite). «événement» : transition interne. A ne pas confondre avec une transition externe vers le même état. Nom de l état entry/ liste actions do / activité événement [condition] / liste actions exit / liste actions 21

22 Diagramme d'états Les transitions : représentent la réaction d un objet à l occurrence d un événement sous la forme d un changement d état de l objet. relient deux états de l objet (éventuellement le même), s «exécutent» de façon atomique : une fois déclenchées, il n est pas possible de les interrompre en cours d exécution, sont décrites par : un événement (ce qui survient et déclenche la transition) une condition (qui doit être satisfaite pour que la transition soit franchie) des actions réalisées au moment du franchissement Sémantique et notation : les transitions Etat 1 événement [condition] / actions Etat 2 Exemples de règles ECA : tropchaud() [été] / allumerclimatisation() tropchaud() [hiver] / ouvrirfenêtre() Diagramme d'états Sémantique et notation : règles ECA Evénement appel d une méthode publique de l objet, événements temporels : mot clé after suivi d une durée depuis l entrée dans l état, détection d un changement : mot clé when suivi d une condition qui devient vraie lorsque quelque chose change dans l environnement de l objet, Condition (garde) évaluée au moment du déclenchement de la transition, elle conditionne son franchisement, identifie une transition unique parmi celles sortant de l état courant déclenchées par un même événement, pseudo code portant sur les paramètres de l événement et toutes les valeurs accessibles depuis l objet courant. Exemples d événements : mettreenroute() after (5 sec) when (switch in state ON AND heatingelement not in state HOT) 22

23 Diagramme d'états Actions : suite d actions séparées par des, deux types d actions : Sémantique et notation : règles ECA exécution d une méthode de l objet, envoi d un message à un autre objet : en pseudo code, précédé par un ^ possibilité de récupérer les valeurs de retour dans des variables Exemple d actions : affiche(«servez-vous»), ^lapompe.demarre() Diagramme d'états Exemple alternative «create» En Attente «destroy» autoriser() when (le_pistolet in state Accoché) / arreter() [le_pistolet in state Accroché] [le_pistolet in state Décroché] / demarrer() Distribution en cours demarrer () Autorisée 23

24 Diagramme d'états Etats composites Deux façon de décomposer un état (composite) en un diagramme d états : Décomposition disjonctive (ou) le sous diagramme définit une disjonction de sous états : l objet n en occupe qu un seul à la fois. Décomposition conjonctive (et) un état est décomposé en un ensemble de sous diagrammes d états représentant chacuns une composante indépendante du super-état, un objet peut occuper un état dans chacune des composantes décrites. L état résultant est la conjonction des états occupés simultanément dans les différentes composantes. Deux exemples de décomposition conjonctive Diagramme d'états Etats composites Règles de transition vers / depuis un état composite un objet qui entre dans un état composite entre concrètement dans l un de ses sous-états, lorsqu un état possède plusieurs composantes, l objet entre simultanément dans l un des états de chacune des composantes, toutes les actions d entrée des sous-états concernés s appliquent, dans l ordre hiérarchique, un objet quitte un état composite en franchissant une transition qui amène l objet dans un nouvel état, les actions de sorties de tous les sous-états concernés s appliquent, dans l ordre inverse de la hiérarchie, un objet quitte simultanément toutes les composantes d un état. 24

25 Processus de développement Un? Des? Il n y a pas un qui, universellement suivi, garantit la qualité des développements. Cela ne signifie pas qu il n est pas important de suivre un. RUP (Rational Unified Process) essaie de donner des règles générales de gestion du développement à l aide d un et identifie les qualités que doivent posséder les. La suite du cours propose un, centré sur les cas d utilisation. Il existe d autre types de, par exemple des centrés sur l architecture. Processus de développement Ci-dessous des causes de problèmes dans le développement Compréhension imprécise des besoins utilisateurs Incapacité à gérer les changements des besoins utilisateurs Mauvaises pratiques Modules incompatibles Logiciel difficile à maintenir ou à étendre Découverte tardive de faiblesses sérieuses dans le projet Mauvaise qualité du logiciel produit Performances inacceptables Impossibilité de savoir qui a changé quoi, quand et pourquoi dans l équipe de développement Mauvais de livraison 25

26 Processus de développement Développer le logiciel itérativement Réduction du risque Satisfaction du client qui se rend compte de la progression Gérer les exigences (ingénierie des besoins) Identifier pour communiquer Hiérarchiser les priorités, filtrer, garder une trace Détecter les incohérences au plus tôt Utiliser les architectures à base de composants Modularité pour maîtriser la complexité Réutilisation Utilisation de frameworks standards Bonnes pratiques Processus de développement Bonnes pratiques Modéliser le logiciel visuellement Etre moins ambigu qu en utilisant la langue naturelle Outiller la modélisation par exemple pour disposer du niveau de détail souhaité (cacher ce qui n est pas nécessaire) S assurer de la qualité du logiciel Tout au long du Contrôler les changements du logiciel Pour accroître la traçabilité Outiller ce suivi pour mesurer et pour aider à la gestion de la cohérence des configurations 26

27 Processus de développement Les différentes activités du de développement Modélisation de domaine Comprendre la structure et la dynamique de l organisation Comprendre les problèmes posés dans le contexte de l organisation Ecrire d un glossaire Recueil des besoins (auprès des clients et parties prenantes du projet) Ce que le système doit faire Expression des besoins dans des cas d utilisation Spécifications des cas d utilisation en scénarii (scénario principal, scénarii secondaires, cas d erreurs) Limites fonctionnelles du projet Spécifications non fonctionnelles Critères de performance ou de sûreté de fonctionnement (par exemple: rapidité, qualité, fiabilité, sécurité, consommation de ressources) Planification et prévision de coût Le recueil et l expression des besoins doivent permettre de définir le contrat de développement de l application, en connaissance de cause. Processus de développement Maquettage de l IHM Le maquettage peut être réalisé avec n importe quel outil graphique : simples dessins d écrans Prototype d interface généré par un outil Intéressant pour décrire les interfaces avec des acteurs humains : dialogue avec le client, étape concrète de progression pour le client. Analyse et conception Transformation des besoins utilisateurs en modèles UML Modèle d analyse et modèle de conception Implémentation Développement itératif Découpage en couches Composants d architecture Unités indépendantes, équipes différentes Test, déploiement Les différentes activités du de développement 27

28 Processus de développement Activités / diagrammes diagr. de classes Modélisation de domaine diagr. d objets Recueil et expression des besoins Maquettage Analyse et conception Implémentation Déploiement diagr. de composants diagr. de déploiement diagr. de cas d utilisation diagr. de séquence diagr. de collaboration diagr. d états Test diagr. d activités Processus de développement Activités / diagrammes diagr. de classes Modélisation de domaine diagr. d objets Recueil et expression des besoins Maquettage Analyse et conception Implémentation Déploiement diagr. de composants diagr. de déploiement diagr. de cas d utilisation diagr. de séquence diagr. de collaboration diagr. d états Test diagr. d activités 28

29 Processus de développement Activités / diagrammes diagr. de classes Modélisation de domaine diagr. d objets Recueil et expression des besoins Maquettage diagr. de composants diagr. de déploiement diagr. de cas d utilisation Analyse et conception diagr. de séquence Implémentation Déploiement diagr. de collaboration diagr. d états Test diagr. d activités Processus de développement Modélisation du domaine La modélisation du domaine consiste à déterminer quels sont les concepts utilisés par l organisation dans le champ de l étude. Modéliser sans se restreindre au logiciel à produire Ce modèle contiendra des éléments qui seront plus tard repris dans le modèle du système mais aussi une description de l environnement (notamment des acteurs). Ne pas hésiter à «être trop large» Proposition de marche à suivre Interviews des clients et parties prenantes Identifier les «noms» : ce sont les concepts Identifier les «verbes» : ce sont les relations entre concepts Productions (délivrables) Un / des diagramme de classes Un document qui définit l ensemble des concepts figurant dans ce diagramme. 29

30 Processus de développement Recueil et expression du besoin Le recueil des besoins consiste à identifier l ensemble des besoins à modéliser / satisfaire. Cette étape cruciale du de développement permet de calibrer le projet et de limiter les malentendus ultérieurs. Cette étape conduit au cahier des charges, qui est un document contractuel. Le cahier des charges devra contenir des éléments de planification du projet de développement. Proposition de marche à suivre Cahier des charges informel (fourni par le client) et interviews du client et des parties prenantes Identification d objectifs fonctionnels Lister les fonctionnalités que le système doit produire Raffiner en détaillant les fonctionnalités secondaires, le traitement des erreurs Identification des objectifs non fonctionnels Le recueil et l expression des besoins doivent s appuyer sur le modèle de domaine notamment sur le glossaire) défini à l étape précédente. Ils doivent aboutir à la description des bornes du système. Processus de développement Recueil et expression du besoin Productions (délivrables) : Cahier des charges les diagrammes de cas d utilisation la description textuelle des acteurs et de leur rôle par rapport au système la description textuelle des cas d utilisation explicitant les scénarios d utilisation du système : scénario principal : fonctionnalité identifiée par le cas d utilisation début fin scénarios secondaires : étapes secondaires dans le déroulement de la fonctionnalité (inclusion et extension d autres cas d utilisation) scénarios exceptionnels : traitement des erreurs, identifications de contraintes éventuellement des diagrammes de séquence illustrant les scénarios décrits sous la forme d échanges de messages entre le système et les acteurs 30

31 Processus de développement Recueil et expression du besoin - Exemple de squelette de document Schéma Diagramme de cas d utilisation présentant les fonctionnalités et l environnement du système Acteurs Description des différents acteurs utilisant le système Nom : nom de l acteur. Description : définition de l acteur. Rôle : description du rôle de l acteur vis-à-vis du système Cas d utilisation < nom du cas d utilisation > Fonctionnalité : Description synthétique du service rendu par le système Acteur principal : acteur auquel s adresse principalement la fonctionnalité Acteurs secondaires : autres acteurs participant au cas d utilisation Début : Action qui détermine l entrée dans ce cas d utilisation. Fin : Action qui détermine la sortie du cas d utilisation. Processus de développement Recueil et expression du besoin - Exemple de squelette de document Scénarii Description des scénarios qui explicitent le déroulement typique de l utilisation de la fonctionnalité A. Principal Trame générale de l utilisation de la fonctionnalité B. Secondaires Trame détaillée de l utilisation de la fonctionnalité. Décrit les développements possibles de son déroulement en termes de points d inclusion et d extension d autres cas d utilisation. C. Alternatifs Présentation des différents scénarios exceptionnels (en général traitement d erreurs, information des utilisateurs, ). Contraintes non fonctionnelles (opt.) confidentialité, temps de réponse, disponibilité, fréquence, concurrence, volumétrie, concurrence 31

32 Processus de développement Recueil et expression du besoin - Outils de suivi Matrice des exigences rappelle l ensemble des exigences (besoins) et leur couverture par les différents scenarii des cas d utilisation s assurer de l exhaustivité de l ensemble des cas d utilisation permettre la traçabilité entre l expression du besoin informelle du client (cahier des charges préliminaire) et sa formalisation Cas d utilisation Scenarii Exigence 1 Exigence 2... Exigence n Cas «A» scenario A.1 scenario A.2 scenario A.3 Cas «B» scenario B.1 scenario B.2... Processus de développement Recueil et expression du besoin - Outils de suivi Définition des incréments - planning de réalisation définir les ensembles de cas d utilisation qui seront traités à chaque étape de l itération du de développement l incrément peut être fonction : du risque (haut, bas, moyen) : lever au plus tôt les risques de la priorité (haute, basse, moyenne) : satisfaire les besoins du client des dépendances entre cas d utilisation (les inclusions en premier, puis les cas de base et enfin les extensions) de la durée estimée de réalisation (commencer par le plus court pour délivrer des premiers résultats tôt) Cas d utilisation Risque Priorité Durée de réalisation Incrément Cas «A» Cas «B»... 32

33 Processus de développement Le maquettage permet de : Valider les besoins fonctionnels avec le client, dialogue, précisions, remises en cause et détection des incompréhensions Maquettage S entendre sur l apparence du logiciel produit l apparence est le mode d interaction de l utilisateur avec le logiciel les IHMs sont le bon niveau d information pour dialoguer avec le client tout client «se les représente» déjà c est concret et cela ne contient aucune information sur la réalisation Proposition de marche à suivre Réaliser une maquette simple des interfaces du système correspondant à chacun des scenarii décrits Utiliser un outil qui permet de dessiner les écrans (et génère du code) Productions (délivrables) Dans le cahier des charges, pour chaque scenario, ajouter une rubrique «Besoins d IHM» (opt.) Images et description des éléments d IHM nécessaires Processus de développement Analyse et conception Lors des phases d analyse et de conception, il s agit de détailler de plus en plus les réalisations à produire. Le premier modèle d analyse contient un extrait du modèle de domaine et des diagrammes de séquences réalisés à partir des cas d utilisation. Ces différents modèles sont raffinés et complétés au fur et à mesure (ajout au besoin d autres types de diagrammes) pour prendre en compte les choix techniques. 33

34 Processus de développement Implémentation, test, déploiement L implémentation doit être : tracée (qui fait quoi, quand, pourquoi), incrémentale. Le test doit permettre de produire du logiciel de qualité. Les tests à réaliser doivent être identifiés très tôt dans le, être systématiques et leurs résultats tracés. Tests unitaires fonction par fonction tester le cas normal et les cas d erreurs les plus fréquents Tests fonctionnels basés sur les scenarii implémentés, les diagrammes de séquences à chaque incrément de développement réaliser les nouveaux tests relatifs aux nouveaux scenarii concernés par l incrément réaliser à nouveaux tous les tests antérieurs pour vérifier la non-régression» une façon de procéder (à adapter au projet, notamment sa taille et son nombre d intervenants) : builds quotidiens et tests nocturnes avec rapport de tests tous les matins Les étapes du déploiement doivent être tracées pour être reproductibles. Tendances actuelles UML, et après? Evolution d UML Meilleur support de la programmation par composants, de la réutilisation. UML exécutable Objectif Simuler les modèles (pour valider autant que possible) avant de coder, Ne plus implémenter : exécuter les modèles. Ingénierie Dirigée par les Modèles (Model Driven Engineering) Modéliser pour transformer dans un autre formalisme de modélisation (bus de modèles), Modéliser pour transformer en code exécutable dans diverses plateformes techniques, Initiative MDA (Model Driven Architecture) de l OMG qui s appuie sur le MOF (MetaObject Facility), le méta-modèle d UML, Approches génératives s appuyant sur des transformations de modèles, modéliser au lieu d implémenter, gérer l évolution conjointe des modèles et de l implémentation (co-évolution). 34

35 Bibliographie et netographie spécifications, méta-modèle d UML, documents divers UML Modélisation objet avec UML. P.A. Muller, N. Gaertner. Eyrolles. UML en action. P. Roques, F. Vallée. Eyrolles. RUP The Rational Unified Process - An introduction. P. Kruchten. Addison-Wesley. The Unified Software Development Process. I. Jacobson, G. Booch, J. Rumbaugh. Addison-Wesley. 35

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

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

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

Cours STIM P8 TD 1 Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel Cours STIM P8 TD 1 Génie Logiciel Compléments sur UML Intervenant : Anil CASSAM CHENAI Date : 02/02/2012 Objectifs du complément Ce complément sera approfondi en parallèle de plusieurs TD/Cours. Rappels

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

UML (Paquetage) Unified Modeling Language

UML (Paquetage) Unified Modeling Language UML (Paquetage) Unified Modeling Language Sommaire Introduction Objectifs Paquetage Espace de nommage d un paquetage Dépendances entre paquetages 2 Notion introduite véritablement par UML car superficiellement

Plus en détail

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh NOTATION UML AVEC RATIONAL ROSE G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES...2 1.1 ENVIRONNEMENT LOGICIEL...2 1.2 LES VUES DU LOGICIEL ROSE...3 1.3 ORGANISATION RECOMMANDÉE...3

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Génie Logiciel Avancé Cours 3 Le modèle à objets

Génie Logiciel Avancé Cours 3 Le modèle à objets Génie Logiciel Avancé Cours 3 Le modèle à objets Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/zack/teaching/1112/gla/ Copyright

Plus en détail

Introduction au génie logiciel

Introduction au génie logiciel Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

Le Guide Pratique des Processus Métiers

Le Guide Pratique des Processus Métiers Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML Olivier Glassey Jean-Loup Chappelet Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML Working paper de l'idheap 14/2002 UER: Management public / Systèmes d'information

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Génie logiciel (Un aperçu)

Génie logiciel (Un aperçu) (Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

Plus en détail

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle

Plus en détail

3. UML - Unified Modeling Language Diagrammes statiques

3. UML - Unified Modeling Language Diagrammes statiques 3. UML - Unified Modeling Language Diagrammes statiques Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon

Plus en détail

Cours Gestion de projet

Cours Gestion de projet Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA

Plus en détail

Génie Logiciel Orienté Objet UML

Génie Logiciel Orienté Objet UML Licence Professionnelle en Informatique Génie Logiciel Orienté Objet UML E. Grislin-Le Strugeon E. Adam UVHC ISTV Plan Concepts orientés objet Principes des méthodes OO Qu est-ce que UML? Caractéristiques

Plus en détail

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

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21 INSA - ASI TechnoWeb : Rappels UML 1/21 Technologie Web Conception de sites Web Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb : Rappels UML 2/21

Plus en détail

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

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail

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

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML. Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : Remy.Courdier@univ-reunion.fr Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel

Plus en détail

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

UML est-il soluble dans les méthodes agiles?

UML est-il soluble dans les méthodes agiles? Pascal ROQUES Valtech Training UML est-il soluble dans les méthodes agiles? octobre 07 Résumé On entend beaucoup parler actuellement de deux approches ayant l'air fondamentalement opposées : l'approche

Plus en détail

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT UML 2.0 (IUT, département informatique, 1 re année) Laurent AUDIBERT Institut Universitaire de Technologie de Villetaneuse Département Informatique Avenue Jean-Baptiste Clément 93430 Villetaneuse Adresse

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

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

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement Conduite de projet Méthode d analyse et de conception Processus unifié G. Picard SMA/G2I/ENS Mines Saint-Etienne gauthier.picard@emse.fr Octobre 2009 Sommaire!!Objectifs d un processus d ingénierie logicielle!

Plus en détail

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE Université de Fribourg, Suisse Département d'informatique Bachelor en informatique de gestion ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE CELUI-CI PAR DE NOUVELLES FONCTIONNALITES Travail de séminaire

Plus en détail

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier. chapitre1 Besoins utilisateurs Quelle démarche pour passer des besoins au code?? UNIFIED MODELING LANGUAGE package LogiqueMetier.Gestion; import LogiqueMetier.Catalogue.Livre; import java.util.*;public

Plus en détail

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1 Génie Logiciel Rappels C. Crochepeyre Génie Logiciel Rappels 1 INTRODUCTION GL: ingénierie appliquée au logiciel informatique Objectif: la qualité diminution du coût du logiciel et fiabilité Besoin: complexité

Plus en détail

Table des matières Sources

Table des matières Sources Table des matières Modélisation objet avec UML... 2 Introduction... 2 Modèle de système informatique :... 2 Pourquoi UML pour la modélisation Objet?... 3 Représentation dynamique du système... 5 Le diagramme

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT UML FOR BUSINESS INTELLIGENCE PROJECT Abstract : this document deals with the role of UML into business intelligence projects (like data warehousing). After a quick overview of what UML offers, it focuses

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE SOMMAIRE Sommaire... 1 INTRODUCTION... 3 I. Particularités d UML... 4 I.1 UML est une norme... 5 I.2 UML est un langage de modélisation objet... 5 I.3 UML est un support de communication... 6 I.4 UML est

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Glossaire La terminologie propre au projet, ainsi que les abréviations et sigles utilisés sont définis dans le Glossaire. Approbation Décision formelle, donnée

Plus en détail

Méthodologies Orientées-Objet!

Méthodologies Orientées-Objet! MAI NFE103 Année 2013-2014 Méthodologies Orientées-Objet! F.-Y. Villemin (f-yv@cnam.fr) Plan!!Les différentes méthodologies! Démarche! Cycle de vie!!rational Unified Process (RUP)!!La méthode Layman!!Notre

Plus en détail

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle Softeam 2004 Philippe Desfray (voir A propos de l auteur) Présentation Réussir le développement d

Plus en détail

Concevoir et déployer un data warehouse

Concevoir et déployer un data warehouse Concevoir et déployer un data warehouse Ralph Kimball Éditions Eyrolles ISBN : 2-212-09165-6 2000 2 Le cycle de vie dimensionnel Avant d étudier de plus près les spécificités de la conception, du développement

Plus en détail

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

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés) Introduction à la POO 1. Histoire de la POO 9 2. Historique du 12 La conception orientée objet 1. Approche procédurale et décomposition fonctionnelle 13 2. La transition vers l'approche objet 14 3. Les

Plus en détail

CC30 Certificat de compétence Conception, développement et animation de sites Web

CC30 Certificat de compétence Conception, développement et animation de sites Web CC30 Certificat de compétence Conception, développement et animation de sites Web UE RSX050 Bases de l informatique Séance 2 UERSX050 Bases de l informatique séance 2-30/10/2009 1 Table des matières Séance

Plus en détail

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Méthodes d évolution de modèle produit dans les systèmes du type PLM Résumé de thèse étendu Méthodes d évolution de modèle produit dans les systèmes du type PLM Seyed Hamedreza IZADPANAH Table des matières 1. Introduction...2 2. Approche «Ingénierie Dirigée par les Modèles»

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I Analyse par Objets avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 842 532 e-mail : jezequel@irisa.fr

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

GOL-502 Industrie de services. Travaux Pratique / Devoir #7 GOL-502 Industrie de services Travaux Pratique / Devoir #7 Version 2012 Modélisation à l'aide du langage UML 1) Diagramme de cas d'utilisation 2) Diagramme de classes 3) Diagramme de séquence 4) Diagramme

Plus en détail

Sujet de thèse CIFRE RESULIS / LGI2P

Sujet de thèse CIFRE RESULIS / LGI2P Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Sujet de thèse CIFRE RESULIS / LGI2P Titre Domaine De l ingénierie des besoins à l ingénierie des exigences

Plus en détail

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

Brique BDL Gestion de Projet Logiciel

Brique BDL Gestion de Projet Logiciel Brique BDL Gestion de Projet Logiciel Processus de développement pratiqué à l'enst Sylvie.Vignes@enst.fr url:http://www.infres.enst.fr/~vignes/bdl Poly: Computer elective project F.Gasperoni Brique BDL

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

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

Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Génie logiciel pour le commerce électronique Hiver 2003 Prof.: Julie Vachon Travail pratique #1 «Réalisation d'une plateforme de vente aux enchères électronique» À réaliser individuellement ou en équipe

Plus en détail

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)

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) 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) Module 1 : Programmer une application informatique Durée

Plus en détail

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM) Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages

Plus en détail

UML : DIAGRAMME D ETATS

UML : DIAGRAMME D ETATS UML : DIAGRAMME D ETATS Le modèle dynamique représente l évolution du système au cours du temps en réaction aux événements externes. L évolution du système est définie par l évolution (cycle de vie) des

Plus en détail

LES INTERFACES HOMME-MACHINE

LES INTERFACES HOMME-MACHINE LES INTERFACES HOMME-MACHINE 1 ère Partie : Introduction aux Interfaces Homme-Machine 2 ème Partie : Notions de base sur les Sciences Cognitives 3 ème Partie : Recommandations ergonomiques 4 ème Partie

Plus en détail

Les méthodes itératives. Hugues MEUNIER

Les méthodes itératives. Hugues MEUNIER Les méthodes itératives Hugues MEUNIER INTRODUCTION. Toute les méthodes ont le même but : la maîtrise du budget, du planning et de la qualité des projets de développement informatique Plusieurs approches

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Méthodes de développement. Analyse des exigences (spécification)

Méthodes de développement. Analyse des exigences (spécification) 1 / 16 Méthodes de développement Analyse des exigences (spécification) 1 -Objectifs de l'analyse des exigences... 2 2 - Approfondissement et formalisation du besoin... 2 2.1 Séparation des besoins, contraintes

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Management des processus opérationnels

Management des processus opérationnels Ecole Nationale Supérieure de Management Master Management des organisations Management des processus opérationnels Dr TOUMI Djamila Cours n 2: la modélisation des processus opérationnels INTRODUCTION

Plus en détail

Méthodes de développement

Méthodes de développement 1 / 9 Méthodes de développement Méthodes agiles 1 - Introduction... 2 2 -Le manifeste agile et les méthodes agiles... 2 2.1 Le manifeste agile... 2 2.2 Les méthodes agiles... 3 3 - Caractéristiques communes

Plus en détail

Formation : Modélisation avec UML 2.0 et Mise en pratique

Formation : Modélisation avec UML 2.0 et Mise en pratique Formation : Modélisation avec et Mise en pratique Durée : sur 4 Jours soit 28 heures ou sur 5 Jours soit 35 heures Présentation Stage UML (Unified Modeling Language) est la notation standard qui s'est

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007 1 Génie Logiciel (d'après A.-M. Hugues) Conception Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 17/04/2007 2 Position dans le cycle de vie Contexte : étant donnée une spécification (ce que

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

CONCEPTION DE PROJET SIG AVEC UML

CONCEPTION DE PROJET SIG AVEC UML Bulletin de la Société géographique de Liège, 42, 2002, 19-25 CONCEPTION DE PROJET SIG AVEC UML François LAPLANCHE Résumé Avec son statut de standard, le langage UML (Unified Modelling Language) jouit

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

GL - 2 2.1 Le Génie Logiciel

GL - 2 2.1 Le Génie Logiciel 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

Plus en détail

CHAPITRE 3 : LES METHODES AGILES?

CHAPITRE 3 : LES METHODES AGILES? CHAPITRE 3 : LES METHODES AGILES? UE Gestion de Projet Master 1 STIC 2014/2015 Céline Joiron 2 Introduction Après avoir présenté les cycles de vie «classiques» de la gestion de projet L objectif de ce

Plus en détail

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants. Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 4 5

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

Modélisation des données

Modélisation des données Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)

Plus en détail

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

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Processus d Informatisation

Processus d Informatisation Processus d Informatisation Cheminement de la naissance d un projet jusqu à son terme, deux grandes étapes : Recherche ou étude de faisabilité (en amont) L utilisateur a une idée (plus ou moins) floue

Plus en détail

Processus de Développement Logiciel

Processus de Développement Logiciel Processus de Développement Logiciel Cours M14 Pierre Gérard Université de Paris 13 IUT Villetaneuse Formation Continue Licence Pro SIL - 2007/2008 Table des matières 1 Des besoins au code avec UML 1 2

Plus en détail

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 1.1

Plus en détail