Vers une ingnierie base de composants - PowerPoint PPT Presentation

1 / 59
About This Presentation
Title:

Vers une ingnierie base de composants

Description:

Ajout d'interfaces un composant existant. Connexion de composants ... Ajout d'interfaces un composant existant. Connexion de composants. Recueil et ... – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 60
Provided by: telecom4
Category:

less

Transcript and Presenter's Notes

Title: Vers une ingnierie base de composants


1
Vers une ingénierie à base de composants
INFORSID05 Grenoble
  • Emmanuel Renaux
  • Laboratoire TRIGONE /
  • Laboratoire dInformatique Fondamentale (LIFL) de
    Lille
  • Université de Lille 1

2
Contexte industriel (1/3)
VPC
Banque
Assurance
Secteur public
Métier
Ingénierie logicielle
3
Contexte industriel (2/3)
  • Points clés des projets étudiés
  • Développer avec des NTIC
  • Reprendre lexistant
  • Ouvrir les systèmes dinformation
  • Approche initiale
  • Adapter lanalyse et conception orientées objet

4
Contexte industriel (3/3)
  • Objectif assurer un développement pérenne
  • Modèles de composants technologiques
  • CORBA Component Model
  • .Net
  • EJB (J2EE)

5
Plan
  • Contexte
  • Limites de la conception orientée Objet
  • A la recherche du composant logique
  • Le modèle multi-vues
  • Validation
  • Conclusion

6
Analyse et conception orientées objet
  • Démarche dingénierie
  • Processus Unifié
  • Démarche itérative
  • Ensemble dactivités/phases
  • Séparation des préoccupations
  • Modèles de référence 41 vues / RM-ODP
  • Représentation graphique
  • Unified Modeling Language

7
Processus Unifié simplifié
Trouver les cas dutilisation
Modèle de cas dutilisation
Modèle danalyse
Réaliser les cas dutilisation
Guichet Automatique Bancaire
Guichet Automatique Bancaire

Structurer le système en objets
Modèle de conception
Implémenter les composants de déploiement du
système
ok ?
Tester les cas dutilisation
Modèles de composants/déploiement
8
Pb 1. Liens entre les différents découpages ?
?
Trouver les cas dutilisation
?
Réaliser les cas dutilisation
Guichet Automatique Bancaire
Guichet Automatique Bancaire

Structurer le système en objets
Implémenter les composants de déploiement du
système
?
ok ?
Tester les cas dutilisation
9
Pb 2. Perte de traçabilité
Trouver les cas dutilisation
Réaliser les cas dutilisation
Guichet Automatique Bancaire
Guichet Automatique Bancaire

Structurer le système en objets
Implémenter les composants de déploiement du
système
ok ?
Tester les cas dutilisation
10
Pb3. Problème de détection de composants
Trouver les cas dutilisation
Réaliser les cas dutilisation
Guichet Automatique Bancaire
Guichet Automatique Bancaire

Structurer le système en objets
Implémenter les composants de déploiement du
système
?
ok ?
Tester les cas dutilisation
11
Enjeu définir un modèle de composants
Granularité de composant ?
?
Introduire la notion de composant dans tout le
cycle de développement
Détection de composant ?
Cohérence entre les vues ?
Projection analyse vers technologie ?
Modèles de cas dutilisation
Technologies à base de composants
Conception à base de composants
12
Plan
  • Contexte
  • Limite de la conception Orientée Objet
  • A la recherche du composant logique
  • Le modèle multi-vues
  • Validation
  • Conclusion

13
Cas dutilisation composant ?
  • Découpage en cas dutilisation
  • conservé jusquau déploiement ?
  • Si oui, critères de qualité améliorés
  • Compréhension du système
  • Gestion du changement
  • Maintenance

NON
Enchevêtrement (Tangling) Eparpillement
(Scattering)
14
Collaborations
  • Réalisation dun cas dutilisation
  • UML 1.4, OMG
  • Collaborationinteractions entre objets
  • Catalysis, DSouza
  • Un ensemble dinteractions entre des objets
    réalisation dopérations de plus haut niveau

Rendre Materiel
Louer Materiel
15
Composition de frameworks de conception
  • Frameworks de conception
  • Design Framework, Wills
  • Objet composition des interfaces

etagere
caisse
article
rangement
materielDisponible
Materiel
tarification
articleRendu
client
Materiel
materielEmprunte
Framework 2
Interaction louer matériel
client
etagere
caisse
Framework 1
Interaction de rendre matériel
rangement
article
tarification
articleRendu
Materiel
materielEmprunte
Composition des frameworks 1 et 2
materielDisponible
client
16
La délimitation du composant logique
  • But Définir un ensemble de cas dutilisation
  • et minimum dinteractions avec dautres cas

Guichet Automatique Bancaire
Emprunter materiel
Client
Rendre materiel
Consulter prix location
Operateur
Client
Materiel
...
Stock
17
Plan
  • Contexte
  • Limite de la conception Orientée Objet
  • A la recherche du composant logique
  • Le modèle multi-vues
  • Validation
  • Conclusion

18
Component Unified Processus
supporte la démarche
décrit
Offre plusieurs vues, maintient la
cohérence, composant omniprésent
19
Méthode à base de composants
  • Une démarche dingénierie à base de composants
    logiques
  • Itérative
  • Basée sur les besoins
  • Séparation des vues

Description statique de larchitecture et
spécification des composants
Réalisation des besoins
Réalisation des cas dutilisation
Description des cas dutilisation
Création de composants
Recueil et spécification des besoins
Ajout dinterfaces à un composant existant
Découverte des cas dutilisation
Connexion de composants
Assemblage de composants
20
Modélisation à base de composants
  • Ingénierie dirigée par les modèles
  • Assistant de conception (cohérence)
  • Projection
  • Un méta-modèle support de la démarche
  • Proposition de le découper en 4 vues
  • 4 préoccupations

Description statique de larchitecture et
spécification des composants
Réalisation des besoins
Réalisation des cas dutilisation
Description des cas dutilisation
Vue dinteractions
Création de composants
Vue de conception de composants
Recueil et spécification des besoins
Ajout dinterfaces à un composant existant
Vue de cas dutilisation
Vue dassemblage
Découverte des cas dutilisation
Connexion de composants
Modèle CUP
Assemblage de composants
21
Le méta-modèle CUP
Actor (from useCaseView)
System (from assemblyView)
Connector (from assemblyView)
Assembly (from assemblyView)
LogicalComponent (from componentView)
UseCase (from useCaseView)
Scenario (from interactionView)
Interface
Class
Message (from interactionView)
Role (from interactionView)
Port (from componentView)
Part (from componentView)
ProvidedPort
RequiredPort
Entity
Control
ExternalControl
Boundary
EntityPart
SessionPart
contraintes OCL
22
Les quatres vues du système
  • vue des cas dutilisation
  • vue dinteractions
  • vue de conception de composants
  • vue dassemblage du système

23
Vue des cas dutilisation (1/3)
Actor (from assemblyView)
System (from assemblyView)
UseCase (from useCaseView)
LogicalComponent (from component)
24
Vue des cas dutilisation (2/3)
  • Ajouts à UML
  • Identification de composant
  • Identification anticipée en catégorisant les
    services
  • Notion de composant logique
  • Etude des dépendances
  • Cas dutilisation de composants logiques
    différents
  • Relation externe dutilisation

25
Vue des cas dutilisation (3/3)
ltltlogicalComponentgtgt location
ltltlogicalComponentgtgt client
ltltlogicalComponentgtgt stock
ltltlogicalComponentgtgt tarificationRecette
26
Les quatres vues du système
  • vue des cas dutilisation
  • vue dinteractions
  • vue de conception de composants
  • vue dassemblage du système

27
Vue des interactions (1/2)
Méta-modèle
Actor (from assemblyView)
System (from assemblyView)
LogicalComponent (from component)
UseCase (from useCaseView)
Scenario (from useCaseView)
Message (from interactionView)
Role (from interactionView)
Entity
Control
ExternalControl
Boundary
28
Vue des interactions (2/2)
  • Précision des interactions entre composants
  • Définition des interfaces
  • Ajout du rôle externe de contrôle

29
Les quatres vues du système
  • vue des cas dutilisation
  • vue dinteractions
  • vue de conception de composants
  • vue dassemblage du système

30
Vue de conception de composant (1/3)
Interface
Port (from componentView)
LogicalComponent (from component)
Class
ProvidedPort
RequiredPort
Role (from interactionView)
Part (from componentView)
EntityPart
SessionPart
Entity
Control
ExternalControl
Boundary
31
Vue de conception de composant (2/3)
  • Description statique
  • Services fournis
  • Ensemble de ports fournis
  • Services requis
  • Ensemble de ports requis
  • Vue boîte blanche
  • Analyse des parties de composants
  • Parties entités et parties de contrôle

32
Vue de conception de composant (3/3)
ltltcontrolPartgtgt MaterielControleur
ltltdelegategtgt
ltltdelegategtgt
ltltentityPartgtgt Materiel

33
Les quatre vues du système
  • vue des cas dutilisation
  • vue dinteractions
  • vue de conception de composants
  • vue dassemblage du système

34
Vue dassemblage (1/2)
Connector (from componentView)
Assembly (from component)
System (from assemblyView)
LogicalComponent (from component)
Port (from componentView)
ProvidedPort
RequiredPort
35
Vue dassemblage (2/2)
  • Assemblage de composants
  • Vue boîte noire

36
Contributions CUP
  • Vue des cas dutilisation
  • Relation externe dutilisation
  • Vue dinteractions
  • Rôle externe de contrôle
  • Vue de conception de composants
  • Evolution du diagramme de classe UML
  • Vue dassemblage
  • Ajout de la vue

37
Plan
  • Contexte
  • Limite de la conception Orientée Objet
  • A la recherche du composant logique
  • Proposition dune démarche
  • Validation
  • Conclusion

38
Outillage
  • Eclipse Modeling Framework
  • Outil de méta-modélisation

contraintes OCL
39
Validation
  • Société NorSys terrain dexpérimentation
  • Validation du modèle de composant
  • Composant adresse de La Poste
  • Découverte de composants et de leurs dépendances
    fonctionnelles
  • Gestion administrative des employés NORSYS
  • Passage à léchelle
  • Voies Navigables de France, refonte du SI

40
Plan
  • Contexte
  • Conception Orientée Objet
  • A la recherche du composant logique
  • Proposition dune démarche
  • Validation
  • Conclusion

41
Enjeu définir un modèle de composants logique
Granularité de composant ?
?
Introduire la notion de composant dans tout le
cycle de développement
Détection de composant ?
Cohérence entre les vues ?
Projection analyse vers technologie ?
Modèles de cas dutilisation
Technologies à base de composants
Conception à base de composants
42
Conclusion
  • Granularité de composant
  • Composant logique composant de modèle
  • Détection de composants
  • Meilleures délimitation et spécification
  • Cas dutilisation
  • Cohérence entre les vues
  • Méta-modèle règles OCL
  • Projection analyse vers technologie
  • Concepts composants en analyse

43
Perspectives
Usines à composants
Modèles
CUP
EJB
.NET
46
44
Merci de votre attention
Usines à composants
Modèles
CUP
EJB
.NET
46
45
  • Merci

46
Plan
  • Contexte
  • Conception Orientée Objet
  • A la recherche du composant logique
  • Proposition dune démarche
  • Validation
  • Conclusion

47
Perspectives (1/2) à court terme
  • Scénarii et processus métiers
  • Projections vers dautres plates-formes
  • Amélioration du ciblage PIM vers PSM
  • Prise en compte de caractéristiques
    non-fonctionnelles

48
Perspectives (2/2) à plus long terme
  • Adaptation à dautres méthodologies
  • Mécanisme dextension
  • Préoccupation gestion de projet
  • Réutilisation de COTS

49
Processus Unifié (1/5)
Trouver les cas dutilisation
  • Cas dutilisation I. Jacobson, 1987
  • Adopté unanimement
  • Base de la démarche
  • Besoins utilisateurs
  • Scénarii dutilisation (forme textuelle)

50
Trouver les cas dutilisation
  • Vue des besoins
  • Acteurs, cas dutilisation

Effectuer un retrait
Client
Consulter un compte
Alimenter le GAB en billets
Operateur
  • Guichet bancaire

51
Processus Unifié (2/5)
Trouver les cas dutilisation
Réaliser les cas dutilisation
  • Réaliser les cas dutilisation
  • Modéliser les scénarii
  • Identifier les entités du système et leurs
    interactions

52
Réaliser les cas dutilisation
  • Vue dynamique
  • Objets, rôles et interactions

Effectuer un retrait
Client
Client
InterfaceGuichet
Distributeur
Retrait
Compte
Consulter un compte
identifier()
demandeRetrait(montant)
valider(montant)
effectuerRetrait(montant)
Alimenter le GAB en billets
Operateur
distribuer(montant)
delivrerBillets()
53
Processus Unifié (3/5)
Trouver les cas dutilisation
Réaliser les cas dutilisation
Structurer le système en objets
  • Structurer le système en objets
  • Trouver les entités du système
  • Définir leurs propriétés
  • Définir leurs relations (associations, héritage)

54
Structurer le système en objet
  • Vue statique du système
  • Classes et associations

Guichet Automatique Bancaire
Guichet Automatique Bancaire
Effectuer un retrait
Client
Client
Compte
interfaceGuichet
distributeur
Retrait
InterfaceGuichet
Consulter un compte
identifier()
identifier()
Client
demandeRetrait(montant)
valider(montant)
Retrait
Compte
effectuerRetrait(montant)
Alimenter le GAB en billets
solde

Distributeur
Operateur
distribuer(montant)
demandeRetrait()
valider() effectuerRetrait()
distribuer()
delivrerBillets()
55
Processus Unifié (4/5)
Trouver les cas dutilisation
Réaliser les cas dutilisation
Guichet Automatique Bancaire
Guichet Automatique Bancaire

Structurer le système en objets
Implémenter les composants de déploiement du
système
56
Motivation
  • Plate-forme EJB
  • Services gérés par le conteneur
  • Correspondance complexe
  • Identification des composants EJB
  •  Entité  données métiers
  •  Session  traitements métiers
  • Choix de conception nombreux
  • Conservation des ports multiples ?
  • Implémentation des ports par des EJB Session
  • Différence entre connexion et association

EJBs Entités
EJB Session
conteneur
Applications clientes
Base de données
57
Le framework EJB
  • Ajout de concepts composants au framework EJB
  • En adéquation avec les concepts CUP
  • Interfaces multiples requises et fournies
  • Connexion de composants
  • Exploitation de lassemblage de composants de CUP
  • revue LObjet04 - Vers de véritables composants
    EJB réutilisables

58
La génération de CUP vers EJB
  • Projection EJB
  • Outillage CUPTool
  • Manipulation Java du modèle CUP
  • Génération du code EJB

Projection
ltltEJB sessiongtgt LouerMateriel
ltltEJB sessiongtgt ModifierStock
LouerMaterielFacet
ConsulterPrix Receptacle
ltltEJB sessiongtgt RendreMateriel
RendreMaterielFacet
ltltEJB entitegtgt BaseClient
ltltEJB entitegtgt InfosClient
Composant EJB GestionMateriel
59
Bilan
Modèles de composants logiques
Framework EJB
Projection
Granularité de composant
?
Détection de composant
Enrichissement Paradigme composant
Introduire la notion de composant dans tout le
cycle de développement
Enrichissement Paradigme composant
Cohérence entre les vues
Projection analyse vers technologie
Modèles danalyse orientés objet
Technologies à base de composants
Projection complexe
Génie logiciel
60
Limites de lapproche
  • Prise en compte tardive des composants de
    déploiement
  • Composants technologiques à grain fin
  • 3. Choix de conception sur la plate-forme
  • Correspondance entre des éléments objets et des
    éléments de la plate-forme composant

2.
1.
3.
Modèles danalyse orientés objet
Technologies à base de composants
Projection complexe
Write a Comment
User Comments (0)
About PowerShow.com