Modélisation OO avec UML

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

Download "Modélisation OO avec UML"

Transcription

1 Méthodes orientées objet - analyse et conception Modélisation OO avec UML R. Bendraou & S. Bouzitouna Reda.Bendraou@lip6.fr Salim.Bouzitouna@lip6.fr 1

2 Organisation du Cours 10 Séances de 3h 1/2 Séance divisée en deux parties: Cours Travaux pratiques Projet: fil conducteur pendant la durée du cours Note finale du module: Examen écrit prévu pour le 02 Décembre Note du contrôle continu (Réalisation du projet + soutenance + appréciation) 2

3 Plan du cours Introduction au Génie Logiciel Définitions Cycles de vie d'un logiciel Méthodologies Modélisation Orienté Objet avec UML Un besoin de modélisation Rappel sur les concepts Orientés Objet UML Diagrammes UML Outils standards UML Profiles UML Recherche UML: MDA (Model-Dirven Architecture) 3

4 Définition Qu est ce que le Génie Logiciel? "Le processus visant la résolution de problèmes posés par un client par le développement systématique et l évolution de systèmes logiciels de grande taille et de haute qualité en respectant les contraintes de coûts, de temps, et autres". Définition de l'ieee "The application of a systematic, disciplined, quantifiable approach to the development, operation, maintenance of software; that is, the application of engineering to software". 4

5 Qu est ce que le Génie Logiciel? Les quatre P du génie logiciel Personnel Qui produit le logiciel? Processus Comment le logiciel est-il produit? Projet La production réelle du logiciel Produit Tous les objets fabriqués pendant la production: code source, exécutables, documentation, modèles de conception, cahier de charges, résultats de testes, mesures de productivité, 5

6 Activités communes aux projets de Génie Logiciel (1/2) Gestion du projet choisir un modèle/processus de développement diviser le projet en différentes activités décider ce qui est inclus en chaque activité décider sur la séquence d'activités Définition et spécification des exigences Analyse de domaine Définition du problème Cueillette des exigences Analyse des exigences Conception Analyse de domaine Déterminer ce qui sera réalisé par le logiciel ( software) et par le matériel ( hardware) Mettre au point l architecture du système, la définition des sous-systèmes et de leurs interactions Élaborer les éléments internes de chaque sous-système Concevoir des interfaces usagers et des bases de données 6

7 Activités communes aux projets de Génie Logiciel (2/2) Modélisation (UML) Créer des représentations du logiciel et de son domaine d application Modélisation de son utilisation ( use case modelling) Modélisation de sa structure ( structural modelling) Modélisation de sa dynamique et de son comportement ( dynamic and behavioural modelling) Programmation Déploiement distribution et installation du logiciel Assurance de qualité 7

8 Cycle de vie d'un logiciel Il existe différents types de cycles de développement entrant dans la réalisation d'un logiciel. Prennent en compte toutes les étapes de la conception d'un logiciel. Les Grandes Familles: Cycle en Cascade Cycle en V Cycle en Spirale etc. 8

9 Cycle de vie d'un logiciel: cycle en Cascade Cycle en Cascade Ce cycle est hérité du bâtiment. Ce modèle repose sur les hypothèses suivantes: on ne peut pas construire la toiture avant les fondations les conséquences d'une modification en amont du cycle ont un impact majeur sur les coûts en aval 9

10 Cycle de vie d'un logiciel: cycle en V Imaginé pour pallier le problème de réactivité du modèle en cascade permet en cas d'anomalie, de limiter un retour aux étapes précédentes Les phases de la partie montante, doivent renvoyer de l'information sur les phases en vis-à-vis lorsque des défauts sont détectés afin d'améliorer le logiciel. met en évidence la nécessité d'anticiper et de préparer dans les étapes descendantes les «attendus» des futures étapes montantes Le cycle en V est devenu un standard de l'industrie du développement de logiciel et de la gestion de projet depuis les années

11 Cycle de vie d'un logiciel: cycle en spirale s'appuie sur une succession de cycles dont chacun se déroule en quatre phases : analyse initiale des besoins et des objectifs du cycle (solutions et contraintes) ou analyse à partir du cycle précèdent, étude des risques, évaluation des solutions de remplacement et éventuellement conception, développement et vérification de la solution résultant de l'étape précédente, examen du produit et projection vers le cycle suivant. Peu utilisé en pratique: difficile (cher!) à mettre en œuvre 11

12 Définition: Au cœur du Génie Logiciel: La Méthodologie "An organised, documented set of procedures and guidelines for one or more phases of the software life cycle, such as analysis or design. Many methodologies include a diagramming notation for documenting the results of the procedure; a step-by-step "cookbook" approach for carrying out the procedure; and an objective (ideally quantified) set of criteria for determining whether the results of the procedure are of acceptable quality". ~Foldoc. Méthodologie = Techniques (Savoir faire) + Notation + Outils (Optionnel) 12

13 Au cœur du Génie Logiciel: La Méthodologie Méthodologies existantes Les premières méthodologies d'analyse (c.1970) Découpe cartésienne (fonctionnelle et hiérarchique) Exemples : méthode structurée, de Jackson L'approche systémique (c.1980) Modélisation des données et des traitements Exemples : Merise, Axial, IE L'émergence des méthodologies objets (c.1990) Plus de 50 méthodes objet sont apparues Exemples : Booch, Classe Relation, Fusion, HOOD, OMT, OOA, OOD, OOM, OOSE Aucune ne s'est réellement imposée 13

14 Les méthodologies OO L apparition du paradigme objet à permis la naissance de plusieurs méthodes de modélisation Chacune de ces méthodes fournie une notation graphique et des règles pour élaborer les modèles Certaines méthodes sont outillées 14

15 Problème: Trop de Méthodes!Toutes avec une notation et des modèles différents Entre 89 et 94 : le nombre de méthodes orientées objet est passé de 10 à plus de 50 Toutes les méthodes avaient pourtant d énormes points communs (objets, méthode, paramètres, ) Au milieu des années 90, G. Booch, I. Jacobson et J. Rumbaugh ont chacun commencé à adopter les idées des autres. Les 3 auteurs ont souhaité créer un Langage de Modélisation Unifié 15

16 Modélisation Orienté Objet avec UML 16

17 Qu est-ce qu un modèle? Du réel au modèle Méthode de modélisation La réalité représentations mentales, connaissances, règlements... Le modèle représentations schématiques, formulations rigoureuses Du modèle au logiciel 17

18 Les objectifs de la modélisation COMMUNIQUER Le premier but de la modélisation est de garantir la bonne compréhension entre les acteurs. Entre utilisateurs et informaticiens Entre informaticiens : analystes, concepteurs, développeurs, mainteneurs... CONTROLER Le second but de la modélisation est de fournir une description rigoureuse et contrôlable. Qualité des modèles : cohérence, exhaustivité, couverture, pertinence, économie... 18

19 Un bref rappel sur les concepts objets La classe "Abstraction d'un type de donnée caractérisée par des propriétés (attributs et méthodes) communes à des objets, et permettant de créer des objets ayant ces propriétés". L objet "une instance de la structure de données ainsi que du comportement définit par la class de l'objet. Chaque Objet a ses propres valeurs pour les variables d'instances de sa classe et répond aux méthodes définies par celle-ci". Encapsulation, messages, héritage, polymorphisme 19

20 La classe - modele - puissance - vitesse - couleur Locomotive + allerenavant( ) + allerenarriere( ) + demarrer( ) + stopper( ) + accelerer( ) 20

21 L objet OBJET Données protégées Services publics Environnement Messages 21

22 UML Unified Modeling Language 22

23 La genèse d UML Méthode OOD BOOCH Modélisation dynamique Méthode OMT RUMBAUGH Modélisation statique Méthode OOSE JACOBSON Cas d utilisation UML Unified Modeling Language 23

24 Définition en cours par une commission de révision Soumission à l OMG Standardisation par l OMG Soumission à l OMG Soumission à l OMG Version bêta OOPSLA 96 Historique UML 1.x UML 1.2 UML 1.1 UML 1.0 UML 0.9 UML Juin 1998 Novembre 1997 Septembre 1997 Janvier 1997 Juin 1996 OOPSLA 95 Méthode unifiée 0.8 Octobre 1995 Booch 93 OMT-2 Autres méthodes Booch 91 OMT-1 OOSE Partenaires 24

25 Introduction à UML UML c est Une norme (OMG) Un langage visuel de modélisation Orienté Objet pseudo-formel (rigoureux, non formel) Diagrammes et éléments de modélisation (classes, association, agrégation, package ) 25

26 UML: aujourd hui UML est le langage de modélisation orienté objet le plus connu et le plus utilisé au monde UML s applique à plusieurs domaines OO, RT, Deployment, Requirement, UML n est pas une méthode RUP Peut d utilisateurs connaissent le standard, ils ont une vision outillée d UML (Vision Utilisateur) 5% forte compréhension, 45% faible compréhension, 50% aucune compréhension UML est fortement critiqué car pas assez formel Le marché UML est important et s accroît MDA, UML2.0, IBM a racheté Rational!!! 26

27 UML Pourquoi Réfléchir Définir la structure «gros grain» Documenter Guider le développement Développer, Tester, Auditer 27

28 Un problème - Un diagramme UML 1.x Modélisation statique Diagramme Modélisation des comportements Cas d'utilisation Classes Objets Etats-Transitions Activités Recueil des besoins Séquence Collaboration Composants Déploiement Modélisation de la dynamique: les diagrammes d interactions Modélisation de l architecture 28

29 UML Unified Modeling Language Le Diagramme de Cas d'utilisation 29

30 Diagramme de Cas d Utilisation Pourquoi les cas d utilisation? Un système est conçu pour les utilisateurs : ils savent ce que le système doit faire mais pas comment le faire ; ils connaissent l aspect fonctionnelle du système. Les utilisateurs du système sont les plus aptes à décrire comment ils s en servent Le système doit donc être bâti à partir des descriptions des utilisateurs. 30

31 Diagramme de cas d Utilisation Le diagramme des cas d utilisation est modélisé par : Des acteurs qui représentent les entités externes du système; Des cas d utilisation qui représentent les fonctionnalités attendues du système. Ses objectifs sont : capturer les besoins fonctionnels du système; délimiter le système; visualiser le cahier des charges graphiquement ; peut servir à concevoir les tests. vérifier le status client passer la commande vendeur traiter la commande 31

32 Identification des acteurs Comment? Par un dialogue avec le client et les utilisateurs ; en délimitant les frontières du système. Qui sont-ils? les utilisateurs humains: les profils possibles sans oublier l administrateur et l opérateur de maintenance ; les autres systèmes connexes interagissant avec le système : logiciels, périphériques ; Client Louer DVD Vidéothèque 32

33 Identification des Cas d Utilisation Il existe plusieurs approches pour découvrir les uses case d un système: Répondre aux questions suivantes: Quels sont les services rendus par le système? Quelles sont les interactions Acteurs/ système? Pour chaque acteur identifié Rechercher les différentes intentions métier avec lesquelles il utilise le système ; Déterminer les services fonctionnels attendus du système par cet acteur. Quels sont les évènements perçus par le système (externes, temporels, changement d état)? 33

34 Les relations entre cas d utilisation Il existe trois types de relations Généralisation (héritage): le cas fils spécialise le cas père. Inclusion (<<include>>): le cas source incorpore directement et nécessairement le cas cible à un endroit précis dans son enchaînement. Le cas inclus n est jamais exécuté tout seul. Client <<include>> Authentification Virement <<extend>> Consulter le solde Extension (<<extend>>): le cas de base en incorpore indirectement et pas nécessairement un autre à un endroit précis dans son enchaînement. Le cas de base peut être exécuté tout seul. Client en ligne Virement en Ligne 34

35 Description des cas d utilisation (1) Les cas d'utilisation peuvent être décrits sous la forme de scénarii. Un scénario représente une séquence d actions qui s exécute du début à la fin d un use case. Client retrait Scénario : Client 1: Afficher le message d'accueil 2: introduire CB 3: Demander le code de la CB 4: composer le code de la CB 5: Diag Séquence Textuel 1. Le distributeur affiche un message d accueil demandant à un client d introduire sa carte bancaire ; 2. le client introduit sa CB ; 3. le distributeur demande le code de la CB ; 4. Le client compose le code de la CB 5. 35

36 Description des cas d utilisation (2) Un même use case peut être décrit par plusieurs scénarii: - Un scénario principal : le service est accompli sans exceptions ou erreurs - Plusieurs scénarii alternatifs : cas des exceptions, des erreurs, autres variantes du scénario principal Client retrait Scénario Scénario principal Scénario alternatif : C lient 1: Afficher le message d'accueil : Client 1: Afficher le message d'accueil 2: introduire C B 3: Demander le code de la CB 2: introduire CB 3: Demander le code de la CB 4: composer le code de la CB 4: composer le code de la CB 5: code accepté 5:code erroné 36

37 Digrammes des cas d utilisations- fin Les diagrammes de cas d utilisation sont souvent employés Ils permettent de décrire le système de façon très abstraite Ils offrent une vue fonctionnelle (par opposition à une vue Orienté Objet) Ils sont très simples Les cas d utilisation se limitent à décrire le «quoi» d un système mais pas le «comment» ; Les cas d utilisation sont une description fonctionnelle d un système après quoi il faut passer à une description objet (les scénarii) utilisant : les diagrammes de séquences ou les diagrammes d activités comme alternative ; les diagrammes de collaboration ; il y a en général peu de cas d utilisation (de 10 à 20) mais beaucoup de scénarii. La difficulté consiste à passer des cas d utilisation aux classes 37

38 UML Le Diagramme de Classes 38

39 Diagramme de Classes Un diagramme de classes est un graphe d éléments connectés par des relations. Un diagramme de classes est une vue graphique de la structure statique d un système. Company Person Company members 0..1 * Employee 39

40 Classes Une classe représente la structure commune d un ensemble d objets. Une classe est représentée par un rectangle qui contient une chaîne de caractères correspondant au nom de la classe Ce rectangle peut être séparé en trois parties (nom, attributs, opérations). Le nom de la classe doit commencer par un caractère alphabétique et ne pas contenir le caractère :: 40

41 Classes Em ploye e Person +name : string +firstname : string #id : string nbperson : integer /completename : string 41

42 Attributs Une classe peut contenir des attributs La syntaxe d un attribut est : visibilité nom : type La visibilité est: + pour public # pour protected - pour private UML définit son propre ensemble de types Integer, real, string, Un attribut peut être un attribut de classe, il est alors souligné. Un attribut peut être dérivé, il est alors préfixé par le caractère / 42

43 Attributs Person Company url [3] : string name : string +name : string +firstname : string #id : string nbperson : integer /completename : string 43

44 Opérations Une opération est un service qu une instance de la classe peut exécuter La syntaxe d une opération est: visibility name(parameter):return La syntaxe des paramètres est: kind name : type Le kind peut être: in, out, inout 44

45 Opérations url [3] : string name : string Company +makeprofit():real +getworkingemployee(): [*] Employee Employee +stopwork():boolean +startwork(in work:string):boolean 45

46 Héritage L héritage est une relation entre un élément plus général et un élément plus spécifique. L héritage existe entre des classes, des packages, L héritage multiple est possible en UML Shape Rectangle Circle 46

47 Associations Les associations binaires connectent deux éléments entre eux Une association binaire est composée de deux associations ends. Une association end est paramétrée par: Un nom (le role joué par l entité connectée) Une multiplicity (0, 1, *, 1..*, ) Un genre d aggregation (composite, aggregation, none) De plusieurs propriétés: isnavigable, ischangeable 47

48 Associations Student students attendedcourses * attends * Course Un cours est suivi par plusieurs étudiants (0 ou plusieurs). Un étudiant suit des cours (0 ou plusieurs). A partir d un étudiants, il est possible d identifier les cours suivis (navigable). public class Student { public Course attendedcourses[]; } public Student() { } public class Course { } public Course() { } 48

49 Associations public class School //En Java { public Student thestudent[]; } public School(){ } Composition Aggrégation School 1..* member * has 1 1..* Department public class Department { public Department() {} } Student public class Student { public Student(){} } 49

50 Associations Les associations N-aire connectent plusieurs éléments entre eux. Les associations N-aire sont très peu utilisées. Class Class1 Class2 50

51 Classes - Associations Une classe-association est une association qui est aussi une classe. Les classes-associations sont utilisées lorsque les associations doivent porter des informations Il est toujours possible de se passer des classesassociations. * Company 1..* Employee Job salary : undefined 51

52 Établir le diagramme de classes «1» A partir de(s) mots clés de l énoncé du problème, l analyse du diagramme de Use cases l analyse des digrammes de séquence correspondants aux scénarii des use cases 1. Établir une liste des objets candidats pour le modèle statique de l application 2. Evaluer chaque objet de cette liste en vu de le retenir ou de l éliminer dans le modèle statique de l application Classe/ Objet candidat Nom trouvé dans les spécifications Eliminé pour les raisons suivantes L élément peut être un simple attribut, une classe utilitaire ou en dehors du sujet de modélisation Nom retenu pour la modélisation Nom de classe pour la modélisation 52

53 Établir le diagramme de classes «2» 1. Réaliser un premier diagramme de classes qui contiendra l ensemble des classes retenues et qui mettra en évidence des associations entre les classe. Les associations seront de simples traits banalisés : pas de nom, pas de multiplicité. 2. Raffiner le diagramme précédent 1. Renseigner les association nom, multiplicité, agrégation,navigabilité, rôles des classes associées 2. Renseigner les classes attributs, classes associations, classes abstraites, héritage 3. Vérifier que le diagramme permet de remplir les différents cas d utilisation et leurs scénarii associés 53

54 A vous! Donnez le code Java correspondant au diagramme de Classe suivant: Etudiant Nom : String Prenom : String DateN : Date Adr : String Classement : Integer +etudiants 1..n Suit +CoursSuivi 1..n Cours Intitule : String Resume : String Coef : Integer NbrHeures : Integer +etudiantg ro upe 1..n contient +goupe 1 NumGroupe : Integer 54

55 Interfaces Une interface est la spécification externe (en terme d opérations) d une classe. Une interface peut donc contenir des opérations Une classe réalise une interface si elle est capable d exécuter toutes les opérations de l interface On utilisera une relation de dépendance pour exprimer le fait qu une classe est cliente d une interface. 55

56 Interfaces Engine Element +addchild(in child:element) +getchildren(): [*] Element Parser Engine Element Parser 56

57 Contraintes et Notes Il est possible de contraindre ou d annoter n importe quel élément du modèle Les contraintes et les notes sont bien souvent écrites en langage naturel Le langage OCL est cependant préconiser pour décrire des contraintes self.age<60 57

58 Contraintes et Notes <<comment>> Une association n'est pas une company Company * 1..* Employee agelimit {self.age<60} 58

59 Packages Un package permet de grouper des éléments Un package sert d espace de désignation Un package peut inclure d autres package Un package peut importer d autres package L héritage entre package est possible 59

60 Packages 60

61 Diagramme de Classe - Fin Les diagrammes de classes sont les diagrammes les plus utilisés Ils permettent la décrire des programmes objet Ils permettent de décrire le schéma logique de bases de données Ils permettent de décrire des relations de concepts (modèle métier) Les diagrammes de classes peuvent être de différents niveaux d abstraction 61

62 Établir le diagramme de classes «1» A partir de(s) mots clés de l énoncé du problème, l analyse du diagramme de Use cases l analyse des digrammes de séquence correspondants aux scénarii des use cases 1. Établir une liste des objets candidats pour le modèle statique de l application 2. Evaluer chaque objet de cette liste en vu de le retenir ou de l éliminer dans le modèle statique de l application Classe/ Objet candidat Nom trouvé dans les spécifications Eliminé pour les raisons suivantes L élément peut être un simple attribut, une classe utilitaire ou en dehors du sujet de modélisation Nom retenu pour la modélisation Nom de classe pour la modélisation 62

63 Établir le diagramme de classes «2» 1. Réaliser un premier diagramme de classes qui contiendra l ensemble des classes retenues et qui mettra en évidence des associations entre les classe. Les associations seront de simples traits banalisés : pas de nom, pas de multiplicité. 2. Raffiner le diagramme précédent 1. Renseigner les association Nom, multiplicité, agrégation,navigabilité, rôles des classes associées 2. Renseigner les classes Attributs, classes associations, classes abstraites, héritage 3. Vérifier que le diagramme permet de remplir les différents cas d utilisation et leurs scénarii associés 63

64 Diagramme d Objets Un diagramme d objet représente la vue statique d un ensemble d instance de classes Le digramme d objet doit reprendre la même structure en terme d attributs des classes et les associations les reliant Un diagramme d objet permet de vérifier les multiplicités des associations Digramme de classes T ria n g le Digramme d objets correspondant 1 parto f 3 P o i n t x : Float y : Float 64

65 DIAGRAMME D'OBJETS Exemple d instances: twingo:voiture Instance nommée de la classe voiture :Voiture Instance anonyme de la classe voiture twingo Instance nommée d une classe anonyme Couleur = grise :Voiture Immatriculation = 995 LKZ 75 Instance anonyme de la classe voiture; dont les valeurs de certains attributs sont spécifiées explicitement safrane:véhicule::voiture :Voiture Instance nommée dune classe dont on spécifie le nom complet (conteneur :: contenu) Collection d instance anonymes, de la classes voitures 65

66 Les diagrammes d interaction Le diagramme de séquence Le diagramme de collaboration Le diagramme d activité 66

67 Diagramme de séquence Les diagrammes de séquence permettent de représenter des interactions entre instances (Objets); Les instances communiquent entre-eux par envoi de messages (appel de méthodes) ; Un objet peut recevoir un événement. 67

68 Instances & Messages Instances Un diagramme de séquence met en œuvre des instances (instance de classe, instance d acteur) La durée de vie des instances est définie sur l axe vertical du diagramme Graphiquement l activité d une instance se voit grâce à un rectangle sur l axe du temps Messages Creation: Une instance peut créer une autre instance grâce à un message de création Destruction: Une instance peut détruire une autre instance grâce à un message de destruction Message de Séquence: Une instance peut envoyer un message de séquence à une autre instance pour demander l exécution d une opération 68

69 Intérêt et limites des diagrammes de séquence Les diagrammes de séquence sont utilisés : pour illustrer les use cases ; dans le modèle dynamique. Les limites des diagramme de séquence : comment faire apparaître des opérations non séquentielles? Si la somme est insuffisante! 69

70 La syntaxe des messages La syntaxe pour un message est la suivante : [ condition vraie ou faux ] valeur retournée := nom du message( liste des paramètres) 70

71 Les types de messages Synchrone : l émetteur reste bloqué le temps que le récepteur traite le message envoyé ; Asynchrone : l émetteur n est pas bloqué lorsque le récepteur traite le message envoyé. Mode synchrone : le retour est implicite. Mode asynchrone : le retour doit être explicite s il existe. 71

72 Les boucles et les conditions Représenter une boucle : Représenter une boucle : Représenter une condition: 72

73 Diagramme de Collaboration Un diagramme de collaboration représente la vue statique et la vue dynamique d un ensemble d élément Une collaboration définit des rôles (et non pas des classes!) 3: message3 objet1 2: message2 objet2 objet3 1: message1 73

74 Distributeur automatique de billets 74

75 L ascenseur : Ascenseur 1: monter : Cabine 3: fermer : Porte 2: allumer : Lumière 75

76 UML Diagramme d Etats -Transitions 76

77 Diagramme E/T Les diagrammes d états sont propres à une classe et permettent de représenter les états d un objet ainsi que les transitions entre ces états sont construits pour les objets du système ayant un comportement non trivial Un état se caractérise par sa durée et sa stabilité, il représente l ensemble des valeurs des attributs d'un objet. un objet ne peut pas être dans un état inconnu ou non défini Une transition représente le passage instantané d'un état vers un autre Une transition est déclenchée par un événement. En d'autres termes : c'est l'arrivée d'un événement qui conditionne la transition. En plus de spécifier un événement précis, il est aussi possible de conditionner une transition, à l'aide d'expressions booléennes (gardes) 77

78 Diagramme E/T - Concepts Etat : a tout instant un état représente l ensemble des valeurs des attributs et des liens avec les autres objets un état est caractérisé par une durée / stabilité Transition : connexion unidirectionnelle reliant 2 états assure le passage d un état à l autre est supposée instantanée une transition peut être réflexive Evénement : occurrence de quelque chose qui arrive à un instant inconnu ou connu (IT, envoi de message, ) peut être chargé d information doit avoir été prévu par la conception l événement est le déclencheur d une transition 78

79 Diagramme E/T - Etats Un état est toujours nommé Il comporte un certain nombre de champs qui permettent de décrire les actions dans un état : entry / action : action exécutée à l'entrée de l'état exit / action : action exécutée à la sortie de l'état on événement / action : action exécutée à chaque fois que l'événement cité survient do / action : action récurrente ou significative, exécutée dans l'état Etats particuliers : Etat initial Etat final 79

80 Exemple d'un diagramme E/T (1) Une personne peut être dans trois états : demandeur d emploi ; en phase d embauche ; embauché. Sous - états Une personne embauchée peut avoir deux états : au travail ; en congés. La transition de l état «au travail» à l état «en congés» se fait s il reste des jours de congés. 80

81 Exemple d'un diagramme E/T (2) Une personne en phase d embauche passe par trois état, PréparationEntrevue, Entrevue, Evaluation pour aboutir à l un des états final : embauché ; demandeur d emploi. 81

82 Diagramme E/T - Transitions Syntaxe : event[garde]/action event : événement ou rien garde = expression logique liée à l état que l on quitte action exécutée lors du franchissement de la transition 82

83 Diagramme E/T - Evénements Un événement est un stimulus envoyé à un objet, il traduit l arrivée de quelque chose ; l objet recevant un événement peut réagir en changeant son état (en exécutant une opération) et/ou en émettant un autre événement ; un objet placé dans un état donné attend l occurrence d un événement pour changer d état ; un événement n a pas de durée contrairement à un état ; un événement peut être émis par un objet du système ou provenir de l extérieur du système (clic de souris par exemple) ; un message est un événement émis par un objet ; Types d événement : <<signal>> : signal asynchrone <<crée>>, <<détruit>>, : appel <<top>> : signal synchrone - fin de délai, top horloge, événement instantané : pas de label - correspond à la fin de l activité dans l état de départ 83

84 Comment construire un diagramme E/T Choisir une classe sur le diagramme des classes ; Identifier tous les messages qui arrivent sur un objet correspondant dans le diagramme de séquence afin de trouver les transitions ; Dressez une liste d états possibles en pensant à la vie de l objet (comment est-il créé, comment et à quel moment est-il supprimé, l objet possède-t-il des états actifs, inactifs, y a-t-il des états ou l objet attend? Construisez des fragments du diagramme d états avec des chemins possibles entre états ; Révisez tous les chemins en identifiant les chemins concurrents ; jumelez différents états et demandez-vous si l objet peut être dans ces deux états en même temps, ou si l un suit l autre naturellement ; Développez chaque transition et chaque état ; Réfléchissez à la possibilité q'un état puisse inclure des sous -états Révisez votre diagramme. 84

85 UML Diagramme d Activités 85

86 Diagramme d Activités Un diagramme d activité représente la vue dynamique d un ensemble d éléments sous forme de flux d exécution Une activité représente une exécution d'un mécanisme, un déroulement d'étapes séquentielles Le passage d'une activité vers une autre est matérialisé par une transition. Les transitions sont déclenchées par la fin d'une activité et provoquent le début immédiat d'une autre (elles sont automatiques). 86

87 Diagramme d Activités Les mécanismes dynamiques peuvent être décrits par un diagramme d'activités seuls les mécanismes complexes ou intéressants méritent d'être représentés. Peut servir à décrire le déroulement d'un cas d'utilisation une variante des diagrammes d'états-transitions 87

88 Exemple de diagramme d'activités (1) 88

89 Diagramme d Activités Les Transitions conditionnelles Vérifier Solde Branchement conditionnel Garde [Solde>0] [Solde<0] Autoriser Virement Invitation à réapprovisionner le compte 89

90 Diagramme d Activités Synchronisation Il est possible de synchroniser les transitions à l'aide des "barres de synchronisation" Une barre de synchronisation permet d'ouvrir et de fermer des branches parallèles au sein d'un flot d'exécution Les transitions qui partent d'une barre de synchronisation ont lieu en même temps. On ne franchit une barre de synchronisation qu'après réalisation de toutes les transitions qui s'y rattachent. 90

91 Exemple de diagramme d'activités (2) 91

92 Diagramme de composant Un diagramme de composant représente les composants logiciels d un système 92

93 UML Diagramme de composants et de déploiement 93

94 Diagramme de Composants 1 Les diagrammes de composants permettent de décrire l'architecture physique et statique d'une application en termes de composants et de dépendances entre ces composants Les composants sont des conteneurs (exécutables, librairies ) de classificateurs (classes, interfaces ). Ils exposent des interfaces représentant les services réalisés par leurs classificateurs Les dépendances entre composants permettent notamment d'identifier les contraintes de compilation et de mettre en évidence la réutilisation de composants Notation Server: Client: Component Dépendance Interface Class3: Class1: Class2: Classificateurs 94

95 Exemple : Diagramme de Composants

96 Diagramme de déploiement 1 Les diagrammes de déploiement montrent la disposition physique des matériels qui composent le système et la répartition des composants sur ces matériels. Les ressources matérielles sont représentées sous forme de noeuds. Les noeuds sont connectés entre eux, à l'aide d'un support de communication. La nature des lignes de communication et leurs caractéristiques peuvent être précisées. Les diagrammes de déploiement peuvent montrer des instances de noeuds (un matériel précis), ou des classes de noeuds. Notation Noeud Composants 96

97 Exemple : Diagramme de déploiement

98 UML Le Besoin de Méthode Le standard UML et Editeurs Profiles UML MDA 98

99 Le Besoin de Méthode Un modèle UML représente un système et son environnement Les diagrammes UML offrent différentes vues d un même modèle Certains diagrammes sont complémentaires, d autres non Certains diagrammes sont très abstrait, d autres non Il est nécessaire de définir une organisation entre les diagrammes (Une méthode) 99

100 La méthode IL (pédagogique) 1. Cahier des charges 2. Analyse (Quoi?) Identifier les Actors et les Use Case 1 Diagramme de Séquence / Use Case Diagramme de Classe 3. Conception (Comment?) Diagramme de Séquence Diagramme de Classe 4. Implémentation Diagramme de Composants Diagramme de Déploiement 100

101 Standard UML et Éditeur Le standard UML définit ce qu est UML Les éditeurs doivent être conformes au standard Pas de procédure de conformité Forte évolution des standards sans compatibilité ascendante 101

102 Le standard UML définit précisément tous les éléments UML et leurs relations : sémantique adopte précisément pour élément sa notation graphique: notation 102

103 La sémantique Sémantique UML Une classe est une description d un ensemble d objets qui partagent les mêmes attributs, les mêmes opérations, les mêmes relations et la même sémantique. Une classe peut utiliser un ensemble d interfaces pour exposer les opération qu elle fournit. Propriétés: IsActive: Spécifie si une instance de cette classe maintient le control de son Thread. Modéliser la sémantique faire un modèle représentant les éléments UML : Un méta-modèle generalization * Package 0..1 * Class * Opération * Attribut 103

104 Le méta-modèle UML Le standard UML définit de manière pseudo formelle la sémantique des concepts UML en fournissant le méta-modèle UML Plus de 50 concepts (méta-classes) dans UML1.4 Structuration en package (core, common behavior, ) Aucune présence des diagrammes Extrait du méta-modèle UML 104

105 Notation La notation est la représentation graphique des éléments UML. La notation est la partie visible du standard La sémantique des utilisateurs se base sur la notation Le standard n établit pas un lien précis entre la notation et la sémantique La notation d une Classe UML 105

106 Outil UML standard Il est communément établie qu un outil UML standard est un outil qui Respecte intégralement la notation UML Même si tous les diagrammes ne sont pas supportés Dispose d un format de représentation interne compatible avec le méta-modèle UML standard Le difficulté de ce point s illustre avec XMI 106

107 Exemples d'outils standards Rational Rose Outil de plus important du marché IBM Together Outil fortement couplé avec Java Borland ArgoUML Outil Open Source Visio Outil non complet de microsoft 107

108 Profils UML 108

109 Du contemplatif au productif Les modèles sont souvent utilisés pour Réfléchir, Définir la structure gros grain, documenter Les modèles sont alors contemplatifs Ils ne permettent aucun gain significatif Il faut alors que les modèles deviennent productifs Permettre la génération automatique de code, de déploiement, 109

110 UML Productif Par nature, un modèle UML ne peut pas être productif Indépendance des langages, sémantique trop générale Il faut donc spécialiser UML pour être productif UML pour CORBA, UML pour EJB, UML pour RT, Il faut profiler UML 110

111 Profil UML Un profil UML permet de spécialiser UML à un domaine particulier Un profil UML permet par exemple de préciser qu une classe UML est en fait une Table de base de données Un profil est composé de stéréotypes, de tagged value et de contraintes 111

112 Stéréotypes Un stéréotype se défini principalement sur les classes UML Une classe stéréotypée porte la sémantique du stéréotype Les stéréotypes sont fortement utilisés pour les générations de code <<EJBRemoteInterface>> Shop <<process>> Test 112

113 Tagged Value Les tagged value sont principalement utilisés pour ajouter des informations sur les éléments UML Une tagged value peut être vue comme une nouvelle méta-propriété Exemple : Persistance : tagged value associé àla méta classe attribute pour déterminer si un attribut dans une classe est persistant, i.e. si sa valeur est préservée entre deux sessions d utilisation. Voiture {Persistant} NImmat : String {EJBTransType= SUPPORTED} EJBTransType: tagged value associé au stéréotype EJBSessionBean pour déterminer le contexte transactionnel d un EJB de type session (Required, Supported ) <<EJBSessionBean>> Server 113

114 Contraintes Les contraintes sont utilisées pour exprimer des relations les stéréotypes et les tagged value Les contraintes servent a exprimer la sémantique du profil Exemple: Toute classe stéréotypée «EJBRemoteInterface» doit être réalisée par une classe stéréotypé «EJBImplementationClass» Les contraintes en UML sont souvent exprimées en OCL (Object Constraint Language) 114

115 Définition d un profil Un profil UML standard est composé de la liste des Stéréotypes; Tagged values; Contraintes. Il existe plusieurs profils standards EJB, CORBA, SPEM, 115

116 Profil et génération de code Les profils ne rendent les modèles productifs qui s ils servent à générer du code Il faut donc associer aux profils des règles de génération de code Les profils standards proposent quasiment tous des règles de génération de code EJB, CORBA 116

117 L approche MDA 117

118 MDA: Model Driven Architecture L OMG a défini en 2000 sa nouvelle approche pour réaliser, faire évoluer et maintenir les systèmes informatique : le MDA Le MDA se base sur la technique de séparation des préoccupations L idée est de séparer les aspects métiers des aspects techniques en utilisant les modèles Cette séparation facilite la migration des applications vers les nouvelles technologies 118

119 MDA : PIM vers PSM PIM PIM: Plateform Independent Model PSM PSM: Plateform Specific Model CODE 119

120 Chalenges Définition précise de la frontière entre PIM et PSM Méthodologie MDA (stratégique) Explicitation des transformations (UML vers EJB, UML vers WS, ) Outillage 120

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

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

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

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

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

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

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

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

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

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

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

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

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 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

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

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

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

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

M1 : Ingénierie du Logiciel

M1 : Ingénierie du Logiciel M1 : Ingénierie du Logiciel UNIVERSITE PIERRE & MARIE CURIE (PARIS VI) Examen Réparti 2eme partie 16 Mai 2013 (2 heures avec documents : tous SAUF ANNALES CORRIGEES). Barème indicatif sur 20,5 points (max

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

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

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

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

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

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

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

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

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

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

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

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

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

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

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

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

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

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

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

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

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

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

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

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

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 : 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

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

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

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr Opérations Opérations Service qui peut

Plus en détail

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

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

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

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

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

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

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

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

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

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

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

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Christian Soutou UML 2 pour les bases de données Avec 20 exercices corrigés Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Chapitre 4 Outils du marché : de la théorie à la pratique Non mais t as déjà

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

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

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

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK ArchiMate et l architecture d entreprise Par Julien Allaire Ordre du jour Présentation du langage ArchiMate - Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK Présentation du modèle

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

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

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

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

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

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

MEGA ITSM Accelerator. Guide de Démarrage

MEGA ITSM Accelerator. Guide de Démarrage MEGA ITSM Accelerator Guide de Démarrage MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

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

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

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

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

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

Business Process Design Max Pauron

Business Process Design Max Pauron Business Process Design Max Pauron 2005 Max Pauron - Reproduction and communication, even partial, are strictly prohibited without written permission. Unauthorized photocopying is a crime. Contexte Les

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL LA DÉCOUPE MVC (MODEL VIEW CONTROL) Imaginez la programmation en Python d un petit menu d une application visible sur la figure A.1. Lorsqu on clique sur un

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

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

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

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

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

WINDOWS SHAREPOINT SERVICES 2007

WINDOWS SHAREPOINT SERVICES 2007 WINDOWS SHAREPOINT SERVICES 2007 I. TABLE DES MATIÈRES II. Présentation des «content types» (Type de contenu)... 2 III. La pratique... 4 A. Description du cas... 4 B. Création des colonnes... 6 C. Création

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

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail