Département de génie logiciel et des TI Université du Québec École de technologie supérieure...

66
artement de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information Systèmes d’information dans les entreprises dans les entreprises Chargé: JF Couturier Cours # 6 1 GTI515 Été 2011 JF Couturier

Transcript of Département de génie logiciel et des TI Université du Québec École de technologie supérieure...

Page 1: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Systèmes d’information Systèmes d’information dans les entreprisesdans les entreprises

Chargé: JF Couturier

Cours # 6

1GTI515 Été 2011 JF Couturier

Page 2: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Retour sur le dernier coursRetour sur le dernier cours Les Patrons (Patterns)

Architecture d’application

Stéréotype

Modèle d’analyse / Diagramme de robustesse De l’analyse vers la conception

Du diagramme des CU vers le diagramme de séquence

GTI515 Été 2011 JF Couturier 2

Page 3: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Plan du cours 6Plan du cours 6

Correction du quiz 2

Correction du quiz 1 (retour)

Évaluation du cours

Archétype

Modélisation en couleur

GTI515 Été 2011 JF Couturier 3

Page 4: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Plan du cours 6Plan du cours 6

Correction du quiz 2

Correction du quiz 1 (retour)

Évaluation du cours

Archétype

Modélisation en couleur

GTI515 Été 2011 JF Couturier 4

Page 5: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Plan du cours 6Plan du cours 6

Correction du quiz 2

Correction du quiz 1 (retour)

Évaluation du cours

Archétype

Modélisation en couleur

GTI515 Été 2011 JF Couturier 5

Page 6: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

ArchétypeArchétype

Définitions: Type idéal; type primitif.

Œuvre, ouvrage, original qui sert de modèle. Don Quichotte est l’archétype du roman picaresque.

[BIOLOGIE] Modèle idéal, invariant, permettant de reconnaître les organismes appartenant au même groupe naturel.

[PHILOSOPHIE] Selon Platon, idée ou forme du monde intelligible à partir desquelles sont construits les objets du monde sensible.  

GTI515 Été 2011 JF Couturier 6

Page 7: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

ArchétypeArchétype

L’archétype du hérosest un modèle de héros,

mais peu changer de culture en culture

L’archétype du vendeurEffectuer une vente (existe depuis fort

longtemps)

C’est un archétype d’affaires

GTI515 Été 2011 JF Couturier 7

Page 8: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Stéréotype vs. ArchétypeStéréotype vs. Archétype

StéréotypeAnnotation à un diagramme UML

Catégorisation d’une classe

ArchétypeUn modèle à partir duquel toutes les

choses du même genre se suivent plus ou moins

GTI515 Été 2011 JF Couturier 8

Page 9: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Archétype d’affairesArchétype d’affaires

Survient constamment et universellement dans un domaine donné

Exemple: un parti au sens légal (dans un contrat, par exemple)Représente une personne ou une

organisation

GTI515 Été 2011 JF Couturier 9

* Ref: Arlow, Neustadt, Enterprise patterns and MDA

Page 10: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Archétype d’affairesArchétype d’affaires

Une collaboration entre un archétype d’affaires qui se retrouve constamment et de façon universelle dans un environnement donné et le système informatique (logiciel)

Caractéristiques: Universel: doit se retrouver constamment à travers le domaine d’affaires

et le système informatique

Omniprésent (pervasive): dans le domaine d’affaires et dans le système informatique

Longue histoire: reconnue depuis « longtemps »

Autoévident: tous les experts d’un domaine donné s’entendent sur la nature de l’archétype

GTI515 Été 2011 JF Couturier 10

* Ref: Arlow, Neustadt, Enterprise patterns and MDA

Page 11: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

ArchétypesArchétypes

Définition: une forme dont on peut à peu près déduire toutes les choses d’une même catégorie

L’expérience a prouvé que toutes les classes d’objets d’un modèle d’affaires sont bien décrites par quatre archétypes

Pourquoi les archétypes?Habiller le modèle du domaine

GTI515 Été 2011 JF Couturier 11

Page 12: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Les 4 ArchétypesLes 4 Archétypes 4 blocs de construction élémentaires

Événement-Activité (Moment-interval) représente les événements et activités métier a un état cimente le modèle du cas d’utilisation

Groupe, Place ou Chose (Party, Place or Thing) objets d’intérêt en tant qu’individus

Description une description de type entrée de catalogue Rappelez-vous de la classe de description

Rôle une façon de participer

12GTI515 Été 2011 JF Couturier

Page 13: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Les 4 ArchétypesLes 4 Archétypes

Quatre types d’archétype: Basé sur le temps: Intervalle-moment (moment-interval)

Basé sur le rôle

Basé sur le catalogue - The "catalog-entry-like description" archetype.

Basé sur les parties, lieux ou choses ("party, place or thing“)

13GTI515 Été 2011 JF Couturier

Page 14: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Identification d’un Identification d’un archétypearchétype

GTI515 Été 2011 JF Couturier 14

<<moment-interval>>

Sale

number

date

calcTotal

Page 15: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « MI »L’archétype « MI »

Quelque chose que l’on doit suivre dans le temps, pour une raison d’affairesFacture, vente, location, tâches dans un

projet

Astuce: S’il y a une date ou une heure comme attribut, c’est souvent un MI

GTI515 Été 2011 JF Couturier 15

Page 16: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « MI »L’archétype « MI »

connaissent leur priorité, leur statut, leur total

ont souvent des détailsMI-Detail

calculent leur total (en délégant à leurs parties), se terminent, se suppriment, se comparent et s’évaluent vs. leurs prédécesseurs et successeurs

GTI515 Été 2011 JF Couturier 16

Page 17: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « MI-DETAIL »L’archétype « MI-DETAIL »

Souvent, un MI va contenir des éléments de détails

On utilise alors une extension de l’archétype MI, MI-DETAILLes items d’une vente

Partagent généralement le même moment ou le même intervalle

GTI515 Été 2011 JF Couturier 18

Page 18: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « MI-DETAIL »L’archétype « MI-DETAIL »

GTI515 Été 2011 JF Couturier 19

Page 19: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Prior and Next Moment-IntervalsPrior and Next Moment-Intervals

GTI515 Été 2011 JF Couturier 20

http://knol.google.com/k/stephen-palmer/the-moment-interval-class-archetype

Page 20: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « rôle »L’archétype « rôle »

Le rôle est le chapeau que va porter une personne, une chose ou un lieu pour réaliser une action.

Une personne peut porter les chapeaux de développeur, analyste ou architectes.

Le rôle aura donc des attributs et des méthodes qui ne varient pas selon le porteur du chapeau.

GTI515 Été 2011 JF Couturier 21

Page 21: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « rôle »L’archétype « rôle »

Une banque (qui est un endroit) peut jouer plusieurs rôles Fonction de prêteur

Fonction d’assureur

Fonction de marketing

Un aéroport peut joueur le rôle d’aéroport de freight, de passager ou un aéroport militaire

GTI515 Été 2011 JF Couturier 22

Page 22: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « rôle »L’archétype « rôle »

GTI515 Été 2011 JF Couturier 23

<<party>>

Person

legalName

dateOfBirth

authorizedFor

<<role>>

Cashier

authorizedFor

<<role>>

Owner

authorizedFor

Page 23: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « description »L’archétype « description »

GTI515 Été 2011 JF Couturier 24

Entrées de cataloguesValeurs qui s’appliquent de façon

répétitive EX. : numéro de série, couleurs du modèle

Penser à la classe de description

Page 24: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

L’archétype « parties, lieux, choses »L’archétype « parties, lieux, choses »

GTI515 Été 2011 JF Couturier 25

Quelqu’un ou quelque chose qui joue un rôle.EX. Une personne ou une chose peut

jouer plus qu’un rôle selon le contexte.

Page 25: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Éléments génériques des Éléments génériques des archétypesarchétypes les objets (« Party, Place or Thing »)

connaissent leur numéro de série, leurs valeurs spécifiques

s’évaluent selon leurs rôles ont souvent une description

les descriptions connaissent leur type, leur numéro de modèle, leurs

valeurs par défaut recherchent des objets individuels, s’évaluent selon eux

les rôles s’évaluent selon leurs événements-activités

26GTI515 Été 2011 JF Couturier

Page 26: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Identifier les archétypesIdentifier les archétypes

Est-ce que c’est un moment dans le temps, un intervalle dans le temps, quelque chose dont le système doit suivre pour des raisons légales ou d’affaires? Oui?

Moment-Interval

Sinon, est-ce que c’est un rôle? Oui?

Role

Sinon, est-ce que c’est une entrée de catalogue? Oui?

Description

Sinon c’est une partie, une place ou une chose

Thing, Party, Place

GTI515 Été 2011 JF Couturier 27

Page 27: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Exemple – Abonnement (1)Exemple – Abonnement (1)

GTI515 Été 2011 JF Couturier 28

http://edn.embarcadero.com/article/29697

Page 28: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Exemple – Abonnement (2)Exemple – Abonnement (2)

GTI515 Été 2011 JF Couturier 29

http://edn.embarcadero.com/article/29697

Page 29: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Demande de prêtDemande de prêt

GTI515 Été 2011 JF Couturier 30

http://www.uidesign.net/1999/papers/UML_UI.html

Page 30: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Plan du cours 6Plan du cours 6

Correction du quiz 2

Correction du quiz 1 (retour)

Évaluation du cours

Archétype

Modélisation en couleur

GTI515 Été 2011 JF Couturier 31

Page 31: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Sans couleur…Sans couleur…

GTI515 Été 2011 JF Couturier 32

aggregation link

0..*

1

association link

link role

0..*1

0..1

0..*

1

0..*1

0..*

0..1

0..1

0..*

0..1

0..*actual

plan

0..*

0..1

smaller

larger

0..*

0..1

1

0..*

aggregation link

1 0..*

link role

association link

0..1

1

0..*

1 0..*

0..1

0..*

0..*

0..1

0..*

0..1

0..1

0..*

plan

actual

0..1

0..*

larger

smaller

Class3

attribute

method

Class2

attribute

method

Usual

cardinalities

for association

and aggregation

links:

0..1 1

0..* 1..*

Class4

attribute

method

Inheritance link

(points from

specialization to

generalization)

interface

Interface1

methodImplements

link (points from

implementer to

interface)

Class5

attribute

method

classMethod

A Class5 object might

hold an Interface1

implementer.

The 0..* cardinality

indicates that a class2

object holds a collection

of some number of

class3 objects.

The 1 cardinality

indicates that a

class3 object holds

exactly one class2

object.

An interface specifies

method signatures; it's

up to an implementer to

implement that method.

Class1

attribute

method

A class with an italicized

name is an abstract class

(a class without objects).

An underlined method is a

static method (class method), a

method performed by the class

rather than by the objects in

the class. (Such methods often

delegate work to a corresponding

data management object.)

<<text label, called a stereotype>>

Class6

attribute

method

Class7

attribute

Class8

attribute

method

Association link

from one object

to others in the

same class (with

example "link role"

labels)

Aggregation link

from one object

to others in the

same class (with

example "link role"

labels)

Component This is a UML package.

Convention: use it as a

component symbol.

...Component.Class9

attribute

method

...Component.Class10

attributemethod

Convention: A clipped class-

symbol indicates the class is

from another component. It lists

attributes and methods when

some of them might be helpful

in understanding the component

you are looking at.

Page 32: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Identifier les archétypesIdentifier les archétypes

Est-ce que c’est un moment dans le temps, un intervalle dans le temps, quelque chose dont le système doit suivre pour des raisons légales ou d’affaires? Oui?

Moment-Interval Rose

Sinon, est-ce que c’est un rôle? Oui?

Role Jaune

Sinon, est-ce que c’est une entrée de catalogue? Oui?

Description Bleu

Sinon c’est une partie, une place ou une chose

Thing, Party, Place Vert

GTI515 Été 2011 JF Couturier 33

Page 33: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Les 4 archétypes en couleurLes 4 archétypes en couleur

1

0..1

0..*

plan

actual

1 0..*

0..* 1

1

0..*

1 1..*

1

0..10..* 1

1 0..*this

0..*

1

1 1..*

0..1

0..*

plan

actual

1

0..1

<<description>>

Description

<<role>>

Role

<<thing>>

PartyPlaceThing

<<moment-interval>>

MomentInterval

<<mi-detail>>

MIDetail

A party (person or

organization),

place, or thing

A catalog-

entry-like

description

A moment in time or

an interval of time that

you need to track or

do something about

A way of

participating

in something

What color is that class?

- Is it a moment or interval? It's pink.

- Is it a role played? It's yellow.

- Is it a catalog-entry-like description? It's blue.

- Otherwise, it's a party, place, or thing. It's green.

Often, pink

moment-intervals

have parts,

called mi-details.

34GTI515 Été 2011 JF Couturier

Page 34: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Archétypes - Attributs et liensArchétypes - Attributs et liens

GTI515 Été 2011 JF Couturier 35

1

actual

plan

0..*

0..1

0..*1

10..*

0..*

1

1

0..1

0..*

plan

actual

1 0..*

0..* 1

1

0..*

1 1..*

1

0..10..* 1

1 0..*this

0..*

1

1 1..*

0..1

0..*

plan

actual

1

0..1

<<moment-interval>>

MomentInterval

number

dateOrDateTimeOrInterval

priority

total

status

<<role>>

Role

assignedNumber

status

<<thing>>

PartyPlaceThing

serialNumber

name

address

customValue

<<description>>

Description

type

description

itemNumber

defaultValue

<<mi-detail>>

MIDetail

qty

Not shown:

- Link attributes

- "Class as collection" attributes

Drop a class along

the links when you

don't need the level of

specificity provided by

that class.

Page 35: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Archétypes - Méthodes Archétypes - Méthodes

1..*1

1

0..1

0..*

plan

actual

1 0..*

0..* 1

1

0..*

1 1..*

1

0..10..* 1

1 0..*this

0..*

1

1 1..*

0..1

0..*

plan

actual

1

0..1

<<description>>

Description

assessAcrossPPTs

findAvailable

calcQtyAvailable

calcTotalFor

listPPTs

listDescs

assessAcrossDescs

<<role>>

Role

assessAcrossMIs

listMIs

listRoles

assessAcrossRoles

<<thing>>

PartyPlaceThing

assess

assessAcrossRoles

getCustomElseDefaultValue

listRoles

listPPTs

assessAcrossPPTs

<<moment-interval>>

MomentInterval

makeMomentInterval

addDetail

calcTotal

recalcTotal

complete

cancel

mi_generateNext

mi_assessWRTPrior

mi_assessWRTSubsequent

mi_comparePlanVsActual

listMIs

assessAcrossMIs

<<mi-detail>>

MIDetail

calcTotal

Not shown:

- Getters/setters

- Adders/removers

The "mi" method-name prefix

indicates a method that interacts

with pink moment-intervals.

Drop a class along

the links when you

don't need the level of

specificity provided by

that class; adjust method

names accordingly.

36GTI515 Été 2011 JF Couturier

Page 36: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Archétypes - SommaireArchétypes - Sommaire

10..*

this 0..*1

1

0..*

1..*1

actual

plan

0..*

0..1

1

0..1

1

0..1

0..*

plan

actual

1 0..*

0..* 1

1

0..*

1 1..*

1

0..10..* 1

1 0..*this

0..*

1

1 1..*

0..1

0..*

plan

actual

1

0..1

<<thing>>

PartyPlaceThing

serialNumber

name

address

customValue

assess

assessAcrossRoles

getCustomElseDefaultValue

listRoles

listPPTs

assessAcrossPPTs

<<role>>

Role

assignedNumber

status

assessAcrossMIs

listMIs

listRoles

assessAcrossRoles

<<moment-interval>>

MomentInterval

number

dateOrDateTimeOrInterval

priority

total

status

makeMomentInterval

addDetail

calcTotal

recalcTotal

complete

cancel

mi_generateNext

mi_assessWRTPrior

mi_assessWRTNext

mi_comparePlanVsActual

listMIs

assessAcrossMIs

<<description>>

Description

type

description

itemNumber

defaultValue

assessWithPlugInElseDefault

assessAcrossPPTs

findAvailable

calcQtyAvailable

calcTotalFor

listPPTs

listDescs

assessAcrossDescs

interface

<<plug-in point>>

IAssess

assess

interface

<<plug-in point>>

IMakeMomentInterval

makeMomentInterval

<<mi-detail>>

MIDetail

qty

calcTotal

Drop a class along

the links when you

don't need the level of

specificity provided by

that class; adjust method

names accordingly.

Often, pink

moment-intervals

have parts,

called mi-details.

37GTI515 Été 2011 JF Couturier

Page 37: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Avec nos stéréotypes Avec nos stéréotypes

GTI515 Été 2011 JF Couturier 38

Page 38: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Archétypes - Itération 1Archétypes - Itération 1

GTI515 Été 2011 JF Couturier 39

Page 39: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Archétypes - Itération 2Archétypes - Itération 2

GTI515 Été 2011 JF Couturier 40

Page 40: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Diagramme de classes: Cas Demande Formation (Réf. Figure 7-20)

41GTI515 Été 2011 JF Couturier

Page 41: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

RésuméRésumé

Nous développons des composantes d’entreprises et un processus pour construire, appliquer et adapter ces composantes.

L’ajout d’une couche d’information supplémentaire, via les couleurs (rôles, description, moments-intervalles, choses), fournit une information supplémentaire.

42GTI515 Été 2011 JF Couturier

Page 42: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Allons plus loinAllons plus loin

Les archétypes permettent d’aller plus loin

Il y a des patrons que nous pouvons utiliser pour identifier des attributs et des méthodes pour chaque catégorie d’archétype

GTI515 Été 2011 JF Couturier 43

Page 43: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Moment-IntervalMoment-Interval

Attributs Date, heure, intervalle

Statut

Priorité

Total

Méthodes Complete, Confirm

Cancel

generateNextMI

GTI515 Été 2011 JF Couturier 44

http://knol.google.com/k/stephen-palmer/moment-interval-class-archetype-typical

Page 44: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

RôleRôle

Attributs AssignedNumber, code d’autorisation, numéro

de licence…

Statut

Méthodes isAvailable

listMIs

GTI515 Été 2011 JF Couturier 45

http://knol.google.com/k/stephen-palmer/role-class-archetype-typical#

Page 45: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Thing-Place-PartyThing-Place-Party

Attributs IdentityNumber

Name

Adresse

Méthodes assessAcrossRoles

listRoles

GTI515 Été 2011 JF Couturier 46

http://knol.google.com/k/stephen-palmer/party-place-thing-class-archetype/3e0t9wv30hso7/13

Page 46: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

DescriptionDescription

Attributs Type

Description

itemNumber

Méthodes listPPTs

findAvailable

calculateQuantityAvailable

CalculateTotalFor

GTI515 Été 2011 JF Couturier 47

Page 47: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Exemple de descriptionExemple de description

GTI515 Été 2011 JF Couturier 48

http://knol.google.com/k/stephen-palmer/the-description-class-archetype#

Page 48: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Exemple de descriptionExemple de description

GTI515 Été 2011 JF Couturier 49

http://knol.google.com/k/stephen-palmer/the-description-class-archetype#

Page 49: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

1

actual

plan

0..*

0..1

0..*1

10..*

0..*

1

1..*1

1

0..110..*

1..*1

actual

plan

0..*

0..1

1

0..1

0..*1

1

0..*

1

0..1

0..*

plan

actual

1 0..*

0..* 1

1

0..*

1 1..*

1

0..10..* 1

1 1..*

0..1

0..*

plan

actual

1

0..1

1 0..*

0..*

1

<<description>>

Description

<<role>>

Role

<<thing>>

PartyPlaceThing

<<description>>

Description

assessAcrossPPTs

findAvailable

calcQtyAvailable

calcTotalFor

listPPTs

listDescs

assessAcrossDescs

<<moment-interval>>

MomentInterval

number

dateOrDateTimeOrInterval

priority

total

status

<<role>>

Role

assignedNumber

status

<<thing>>

PartyPlaceThing

serialNumber

name

address

customValue

<<description>>

Description

type

description

itemNumber

defaultValue

<<role>>

Role

assessAcrossMIs

listMIs

listRoles

assessAcrossRoles

<<thing>>

PartyPlaceThing

assess

assessAcrossRoles

getCustomElseDefaultValue

listRoles

listPPTs

assessAcrossPPTs

<<moment-interval>>

MomentInterval

makeMomentInterval

addDetail

calcTotal

recalcTotal

complete

cancel

mi_generateNext

mi_assessWRTPrior

mi_assessWRTSubsequent

mi_comparePlanVsActual

listMIs

assessAcrossMIs

Not shown:

- Link attributes

- "Class as collection" attributes

Not shown:

- Getters/setters

- Adders/removers

<<thing>>

PartyPlaceThing

interface

<<plug-in point>>

IMakeMomentInterval

makeMomentInterval

<<role>>

Role

interface

<<plug-in point>>

IAssess

assess

<<moment-interval>>

MomentInterval

makeMomentInterval

<<description>>

Description

assessWithPlugInElseDefault

A party (person or

organization),

place, or thing

A catalog-

entry-like

description

A moment in time or

an interval of time that

you need to track or

do something about

A way of

participating

in something

What color is that class?

- Is it a moment or interval? It's pink.

- Is it a role played? It's yellow.

- Is it a catalog-entry-like description? It's blue.

- Otherwise, it's a party, place, or thing. It's green.

The "mi" method-name prefix

indicates a method that interacts

with pink moment-intervals.

For example,

IMakeSale

<<thing>>

PartyPlaceThing

serialNumber

name

address

customValue

assess

assessAcrossRoles

getCustomElseDefaultValue

listRoles

listPPTs

assessAcrossPPTs

<<moment-interval>>

MomentInterval

number

dateOrDateTimeOrInterval

priority

total

status

makeMomentInterval

addDetail

calcTotal

recalcTotal

complete

cancel

mi_generateNext

mi_assessWRTPrior

mi_assessWRTNext

mi_comparePlanVsActual

listMIs

assessAcrossMIs

<<description>>

Description

type

description

itemNumber

defaultValue

assessWithPlugInElseDefault

assessAcrossPPTs

findAvailable

calcQtyAvailable

calcTotalFor

listPPTs

listDescs

assessAcrossDescs

interface

<<plug-in point>>

IAssess

assess

interface

<<plug-in point>>

IMakeMomentInterval

makeMomentInterval

<<mi-detail>>

MIDetail

qty

calcTotal

Drop a class along

the links when you

don't need the level of

specificity provided by

that class; adjust method

names accordingly.

Drop a class along

the links when you

don't need the level of

specificity provided by

that class; adjust method

names accordingly.

Drop a class along

the links when you

don't need the level of

specificity provided by

that class.

<<mi-detail>>

MIDetail

calcTotal

<<mi-detail>>

MIDetail

qty

<<mi-detail>>

MIDetail

<<moment-interval>>

MomentInterval

Often, pink

moment-intervals

have parts,

called mi-details.

<<mi-detail>>

MIDetail

Often, pink

moment-intervals

have parts,

called mi-details.

<<role>>

Role

assignedNumber

status

assessAcrossMIs

listMIs

listRoles

assessAcrossRoles

GTI515 Été 2011 JF Couturier 50

Page 50: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Patron pour Activité MétierPatron pour Activité Métier

GTI515 Été 2011 JF Couturier 51

Page 51: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Patron pour Entité MétierPatron pour Entité Métier

GTI515 Été 2011 JF Couturier 52

Page 52: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Étude de casÉtude de cas

Le système de gestion d’un hôtel

GTI515 Été 2011 JF Couturier 53

Page 53: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Hotel Management SystemHotel Management System

Processus d’affairesRéservationLocationFacturePaiementService aux chambresEntretien aux chambres

Un cas d’utilisation par PMÉ

54GTI515 Été 2011 JF Couturier

Page 54: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

LesLes éléments d’une réservationéléments d’une réservation

Processus d’affairesRéserver une chambre

Entités d’affairesClient

Chambre

Employé (optionel)

Identifier les archétypes

55GTI515 Été 2011 JF Couturier

Page 55: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Les éléments d’une réservationLes éléments d’une réservation

Processus d’affaires Réserver une chambre MI

MI Detail

Entités d’affaires Client Role Chambre Thing

Description

Employé Role

56GTI515 Été 2011 JF Couturier

Page 56: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

1

0..*

0..*

1..*

1

1..*

1

0..*

1

0..*

0..*

1

<<moment-interval>>

Reservation

<<mi-detail>>

ReservationDetail

<<role>>

Employee

<<thing>>

Room

<<role>>

Customer

<<description>>

RoomDescription

Reservation (1)

GTI515 Été 2011 JF Couturier 57

Page 57: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Étude de cas – Voyage scolaireÉtude de cas – Voyage scolaire

GTI515 Été 2011 JF Couturier 58

Page 58: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Étude de cas – Voyage scolaireÉtude de cas – Voyage scolaire

GTI515 Été 2011 JF Couturier 59

Diagramme des CU

Page 59: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Étude de cas – Voyage scolaireÉtude de cas – Voyage scolaire

GTI515 Été 2011 JF Couturier 60

Cas d’utilisation

Page 60: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Étude de cas – Voyage scolaireÉtude de cas – Voyage scolaire

GTI515 Été 2011 JF Couturier 61

Modèle du domaine

Page 61: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Étude de cas du garageÉtude de cas du garage

GTI515 Été 2011 JF Couturier 62

Page 62: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Qu’est-ce que cela apporteQu’est-ce que cela apporte

Les archétypes apportent un niveau de détail supplémentaire au niveau du modèle du domaine ou du diagramme de classeUne perspective dynamique à un

diagramme statique

GTI515 Été 2011 JF Couturier 63

Page 63: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Qu’est-ce que cela apporteQu’est-ce que cela apporte

Les transactions d’affaires ou les interactions à l’aide des MI

Les parties, choses ou places qui participent à ces transactions/interactions (Qui, Quoi, Où)

Le rôle du partie, de la chose ou de la place

La description du partie, de la chose ou de la place

Identification des attributs et des méthodes

GTI515 Été 2011 JF Couturier 64

Page 64: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

ConclusionConclusion

L’utilisation des patrons et archétypes peut faciliter sensiblement la construction des

modèles d’analyse de systèmes indépendants de la technologie (les PIMs)

permettre d’automatiser la transformation du modèle des processus (le CIM) en le modèle d’analyse du système (le PIM)

GTI515 Été 2011 JF Couturier 65

Page 65: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

RessourcesRessources

Java Modeling in color

Object modeling in color

The Coad Letter

Developing a UI Design from a UML Color Model

Wiki : UML Colors

GTI515 Été 2011 JF Couturier 66

Page 66: Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises Chargé: JF Couturier.

Département de génie logiciel et des TI

Université du Québec

École de technologie supérieure

Prochain coursProchain cours

BPMN

Workflow patterns

Modélisation des flux de donnéesDFD

Lecture chapitres 5, 6 et 7 d’UML2 par la

pratique.

GTI515 Été 2011 JF Couturier 67