systèmes d’information dans les entreprises

66
artement de génie logiciel et des TI Systèmes d’information dans les entreprises Chargé: JF Couturier Cours # 6 GTI515 Automne 2012 JF Couturier 1

Upload: laksha

Post on 23-Feb-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Systèmes d’information dans les entreprises. Chargé: JF Couturier Cours # 6. Retour 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Systèmes d’information dans les entreprises

Chargé: JF Couturier

Cours # 6

GTI515 Automne 2012 JF Couturier 1

Page 2: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Retour sur le dernier cours Les Patrons (Patterns) Architecture d’application Stéréotype Modèle d’analyse / Diagramme de

robustesseDe l’analyse vers la conceptionDu diagramme des CU vers le

diagramme de séquence

GTI515 Automne 2012 JF Couturier 2

Page 3: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Plan du cours 6

Correction du quiz 2 Correction du quiz 1 (retour) Évaluation du cours Archétype Modélisation en couleur

GTI515 Automne 2012 JF Couturier 3

Page 4: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Plan du cours 6

Correction du quiz 2 Correction du quiz 1 (retour) Évaluation du cours Archétype Modélisation en couleur

GTI515 Automne 2012 JF Couturier 4

Page 5: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Plan du cours 6

Correction du quiz 2 Correction du quiz 1 (retour) Évaluation du cours Archétype Modélisation en couleur

GTI515 Automne 2012 JF Couturier 5

Page 6: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Arché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 Automne 2012 JF Couturier 6

Page 7: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Arché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 Automne 2012 JF Couturier 7

Page 8: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Sté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 Automne 2012 JF Couturier 8

Page 9: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Arché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 Automne 2012 JF Couturier 9

* Ref: Arlow, Neustadt, Enterprise patterns and MDA

Page 10: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Arché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 Automne 2012 JF Couturier 10

* Ref: Arlow, Neustadt, Enterprise patterns and MDA

Page 11: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Arché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 Automne 2012 JF Couturier 11

Page 12: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Les 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

GTI515 Automne 2012 JF Couturier 12

Page 13: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Les 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“)

GTI515 Automne 2012 JF Couturier 13

Page 14: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Identification d’un archétype

GTI515 Automne 2012 JF Couturier 14

<<party>>

Person

legalName

dateOfBirth

authorizedFor

<<role>>

Cashier

authorizedFor

<<role>>Owner

authorizedFor

<<moment-interval>>Sale

number

date

calcTotal

Page 15: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

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 Automne 2012 JF Couturier 15

Page 16: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

L’archétype « MI » connaissent leur priorité, leur statut,

leur total ont souvent des détails

MI-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 Automne 2012 JF Couturier 16

Page 17: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

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 ventePartagent généralement le même

moment ou le même intervalle

GTI515 Automne 2012 JF Couturier 18

Page 18: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

L’archétype « MI-DETAIL »

GTI515 Automne 2012 JF Couturier 19

Page 19: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Prior and Next Moment-Intervals

GTI515 Automne 2012 JF Couturier 20

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

Page 20: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

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 Automne 2012 JF Couturier 21

Page 21: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

L’archétype « rôle »

Une banque (qui est un endroit) peut jouer plusieurs rôlesFonction de prêteurFonction d’assureurFonction de marketing

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

GTI515 Automne 2012 JF Couturier 22

Page 22: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

L’archétype « rôle »

GTI515 Automne 2012 JF Couturier 23

<<party>>Person

legalName

dateOfBirth

authorizedFor

<<role>>Cashier

authorizedFor

<<role>>Owner

authorizedFor

<<moment-interval>>Sale

number

date

calcTotal

Page 23: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

L’archétype « description »

GTI515 Automne 2012 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: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

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

GTI515 Automne 2012 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: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Éléments génériques des arché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

GTI515 Automne 2012 JF Couturier 26

Page 26: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Identifier 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 Automne 2012 JF Couturier 27

Page 27: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Exemple – Abonnement (1)

GTI515 Automne 2012 JF Couturier 28

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

Page 28: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Exemple – Abonnement (2)

GTI515 Automne 2012 JF Couturier 29

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

Page 29: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Demande de prêt

GTI515 Automne 2012 JF Couturier 30

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

Page 30: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Plan du cours 6 Correction du quiz 2 Correction du quiz 1 (retour) Évaluation du cours Archétype Modélisation en couleur

GTI515 Automne 2012 JF Couturier 31

Page 31: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Sans couleur…

GTI515 Automne 2012 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

Usualcardinalitiesfor associationand aggregationlinks:0..1 10..* 1..*

Class4

attribute

method

Inheritance link (points from specialization to generalization)

interface

Interface1

methodImplementslink (points fromimplementer tointerface)

Class5

attribute

method

classMethod

A Class5 object mighthold an Interface1implementer.

The 0..* cardinalityindicates that a class2object holds a collectionof some number ofclass3 objects.

The 1 cardinalityindicates that aclass3 object holdsexactly one class2object.

An interface specifiesmethod signatures; it'sup to an implementer toimplement that method.

Class1

attribute

method

A class with an italicizedname is an abstract class(a class without objects).

An underlined method is astatic 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 linkfrom one objectto others in thesame class (withexample "link role"labels)

Aggregation linkfrom one objectto others in thesame class (withexample "link role"labels)

Component This is a UML package.Convention: use it as acomponent symbol.

...Component.Class9

attribute

method

...Component.Class10

attributemethod

Convention: A clipped class-symbol indicates the class isfrom another component. It listsattributes and methods whensome of them might be helpfulin understanding the componentyou are looking at.

Page 32: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Identifier 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 Automne 2012 JF Couturier 33

Page 33: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Les 4 archétypes en couleur

1

actual

plan

0..*

0..1

0..*1

10..*

0..*

1

1..*1

1

0..110..*

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

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

<<thing>>PartyPlaceThing

interface

<<plug-in point>>IMakeMomentInterval

makeMomentInterval

<<role>>Role

interface

<<plug-in point>>IAssess

assess

<<moment-interval>>MomentInterval

makeMomentInterval

<<description>>Description

assessWithPlugInElseDefault

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

<<mi-detail>>MIDetail

calcTotal

<<mi-detail>>MIDetail

qty

<<mi-detail>>MIDetail

<<moment-interval>>MomentInterval

<<mi-detail>>MIDetail

Not shown:- Link attributes- "Class as collection" attributes

Not shown:- Getters/setters- Adders/removers

A party (person ororganization),place, or thing

A catalog-entry-likedescription

A moment in time oran interval of time thatyou need to track ordo something about

A way ofparticipatingin 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 prefixindicates a method that interactswith pink moment-intervals.

For example,IMakeSale

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class.

Often, pinkmoment-intervalshave parts,called mi-details.

Often, pinkmoment-intervalshave parts,called mi-details.

GTI515 Automne 2012 JF Couturier 34

Page 34: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Archétypes - Attributs et liens

GTI515 Automne 2012 JF Couturier 35

1

actual

plan

0..*

0..1

0..*1

10..*

0..*

1

1..*1

1

0..110..*

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

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

<<thing>>PartyPlaceThing

interface

<<plug-in point>>IMakeMomentInterval

makeMomentInterval

<<role>>Role

interface

<<plug-in point>>IAssess

assess

<<moment-interval>>MomentInterval

makeMomentInterval

<<description>>Description

assessWithPlugInElseDefault

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

<<mi-detail>>MIDetail

calcTotal

<<mi-detail>>MIDetail

qty

<<mi-detail>>MIDetail

<<moment-interval>>MomentInterval

<<mi-detail>>MIDetail

Not shown:- Link attributes- "Class as collection" attributes

Not shown:- Getters/setters- Adders/removers

A party (person ororganization),place, or thing

A catalog-entry-likedescription

A moment in time oran interval of time thatyou need to track ordo something about

A way ofparticipatingin 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 prefixindicates a method that interactswith pink moment-intervals.

For example,IMakeSale

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class.

Often, pinkmoment-intervalshave parts,called mi-details.

Often, pinkmoment-intervalshave parts,called mi-details.

Page 35: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Archétypes - Méthodes

1

actual

plan

0..*

0..1

0..*1

10..*

0..*

1

1..*1

1

0..110..*

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

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

<<thing>>PartyPlaceThing

interface

<<plug-in point>>IMakeMomentInterval

makeMomentInterval

<<role>>Role

interface

<<plug-in point>>IAssess

assess

<<moment-interval>>MomentInterval

makeMomentInterval

<<description>>Description

assessWithPlugInElseDefault

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

<<mi-detail>>

MIDetail

calcTotal

<<mi-detail>>MIDetail

qty

<<mi-detail>>MIDetail

<<moment-interval>>MomentInterval

<<mi-detail>>MIDetail

Not shown:- Link attributes- "Class as collection" attributes

Not shown:- Getters/setters- Adders/removers

A party (person ororganization),place, or thing

A catalog-entry-likedescription

A moment in time oran interval of time thatyou need to track ordo something about

A way ofparticipatingin 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 prefixindicates a method that interactswith pink moment-intervals.

For example,IMakeSale

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class.

Often, pinkmoment-intervalshave parts,called mi-details.

Often, pinkmoment-intervalshave parts,called mi-details.

GTI515 Automne 2012 JF Couturier 36

Page 36: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Archétypes - Sommaire

1

actual

plan

0..*

0..1

0..*1

10..*

0..*

1

1..*1

1

0..110..*

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

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

<<thing>>PartyPlaceThing

interface

<<plug-in point>>IMakeMomentInterval

makeMomentInterval

<<role>>Role

interface

<<plug-in point>>IAssess

assess

<<moment-interval>>MomentInterval

makeMomentInterval

<<description>>Description

assessWithPlugInElseDefault

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

<<mi-detail>>MIDetail

calcTotal

<<mi-detail>>MIDetail

qty

<<mi-detail>>MIDetail

<<moment-interval>>MomentInterval

<<mi-detail>>MIDetail

Not shown:- Link attributes- "Class as collection" attributes

Not shown:- Getters/setters- Adders/removers

A party (person ororganization),place, or thing

A catalog-entry-likedescription

A moment in time oran interval of time thatyou need to track ordo something about

A way ofparticipatingin 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 prefixindicates a method that interactswith pink moment-intervals.

For example,IMakeSale

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class; adjust methodnames accordingly.

Drop a class alongthe links when youdon't need the level ofspecificity provided bythat class.

Often, pinkmoment-intervalshave parts,called mi-details.

Often, pinkmoment-intervalshave parts,called mi-details.

GTI515 Automne 2012 JF Couturier 37

Page 37: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Avec nos stéréotypes

GTI515 Automne 2012 JF Couturier 38

Page 38: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Archétypes - Itération 1

GTI515 Automne 2012 JF Couturier 39

Page 39: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Archétypes - Itération 2

GTI515 Automne 2012 JF Couturier 40

Page 40: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

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

GTI515 Automne 2012 JF Couturier 41

Page 41: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

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.

GTI515 Automne 2012 JF Couturier 42

Page 42: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Allons 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 Automne 2012 JF Couturier 43

Page 43: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Moment-Interval Attributs

Date, heure, intervalle Statut Priorité Total

Méthodes Complete, Confirm Cancel generateNextMI

GTI515 Automne 2012 JF Couturier 44

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

Page 44: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Rôle Attributs

AssignedNumber, code d’autorisation, numéro de licence…

Statut

Méthodes isAvailable listMIs

GTI515 Automne 2012 JF Couturier 45

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

Page 45: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Thing-Place-Party Attributs

IdentityNumber Name Adresse

Méthodes assessAcrossRoles listRoles

GTI515 Automne 2012 JF Couturier 46http://knol.google.com/k/stephen-palmer/party-place-thing-class-archetype/3e0t9wv30hso7/13

Page 46: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Description Attributs

Type Description itemNumber

Méthodes listPPTs findAvailable calculateQuantityAvailable CalculateTotalFor

GTI515 Automne 2012 JF Couturier 47

Page 47: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Exemple de description

GTI515 Automne 2012 JF Couturier 48http://knol.google.com/k/stephen-palmer/the-description-class-archetype#

Page 48: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Exemple de description

GTI515 Automne 2012 JF Couturier 49http://knol.google.com/k/stephen-palmer/the-description-class-archetype#

Page 49: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

1

actu al

p lan

0 ..*

0 ..1

0 ..*1

10 . .*

0 ..*

1

1 ..*1

1

0 ..110 ..*

1 ..*1

actu al

p lan

0 ..*

0 ..1

1

0 ..1

0 ..*1

1

0 ..*

1

0 ..1

0 ..*

p lan

actu al

1 0 ..*

0 . .* 1

1

0 ..*

1 1 ..*

1

0 ..10 ..* 1

1 1 ..*

0 ..1

0 ..*

p lan

actu al

1

0 ..1

1 0 ..*

0 ..*

1

<<d escrip tio n >>

Descriptio n

<<ro le>>

Ro le

<<th in g >>

Pa rty Pla ceTh ing

<<d escrip tio n >>

Descriptio n

assessAcro ssPP Ts

fin d Av ailab le

calcQty Av ailab le

calcTo talF o r

listP P Ts

listDescs

assessAcro ssDescs

<<mo men t-in terv al>>MomentInterv a l

n u mb er

d ateOrDateTimeOrIn terv al

p rio rity

to tal

statu s

<<ro le>>

Ro le

assig n ed Nu mb er

statu s

<< th in g >>Pa rty Pla ceThing

serialNu mb er

n ame

ad d ress

cu sto mValu e

<<d escrip tio n >>Descrip tio n

ty p e

d escrip tio n

itemNu mb er

d efau ltValu e

<<ro le>>

Ro le

assessAcro ssMIs

listM Is

listRo les

assessAcro ssRo les

<< th in g >>

Pa rty Pla ceTh ing

assess

assessAcro ssRo les

g etCu sto mElseDefau ltValu e

listRo les

listPP Ts

assessAcro ssP P Ts

<<mo men t-in terv al>>

MomentInterv a l

mak eMo men tIn terv al

ad d Detail

calcTo tal

recalcTo tal

co mp lete

can cel

mi_ g en erateNex t

mi_ assessWRTPrio r

mi_ assessWRTSu b seq u en t

mi_ co mp arePlan VsActu al

listM Is

assessAcro ssMIs

No t sh o wn :- Lin k attrib u tes- "Class as co llectio n " attrib u tes

No t sh o wn :- Getters/setters- Ad d ers/remo v ers

<< th in g >>

Pa rty Pla ceThing

in terface

<<p lu g -in p o in t>>

IMa k eMomen tInterva l

ma keMomen tIn terva l

<<ro le>>Ro le

in terface

<<p lu g -in p o in t>>

IAssess

a ssess

<<mo men t-in terv al>>MomentInterv a l

mak eMo men tIn terv al

<<d escrip tio n >>

Descrip tio n

assessWith P lu g In ElseDefau lt

A p arty (p erso n o ro rg an izatio n ),p lace, o r th in g

A catalo g -en try -lik ed escrip tio n

A mo men t in time o ran in terv al o f time th aty o u n eed to track o rd o so meth in g ab o u t

A way o fp articip atin gin so meth in g

Wh at co lo r is th at class?- Is i t a mo men t o r in terv al? It ' s p in k .- Is i t a ro le p lay ed ? It' s y ello w.- Is i t a catalo g -en try -lik e d escrip tio n ? It' s b lu e.- Oth erwise, it' s a p arty, p lace, o r th in g . It' s g reen .

Th e "mi" meth o d -n ame p refixin d icates a meth o d th at in teractswith p in k mo men t-in terv als.

Fo r ex amp le,IM ak eSale

<<th in g >>

Pa rty Pla ceThing

serialNu mb er

n ame

ad d ress

cu sto mValu e

assess

assessAcro ssRo les

g etCu sto mElseDefau ltValu e

listRo les

listP PTs

assessAcro ssP P Ts

<<mo men t-in terv al>>

MomentInterv a l

n u mb er

d ateOrDateTimeOrIn terv al

p rio rity

to tal

statu s

mak eMo men tIn terv al

ad d Detail

calcTo tal

recalcTo tal

co mp lete

can cel

mi_ g en erateNex t

mi_ assessWRTPrio r

mi_ assessWRTNex t

mi_ co mp areP lan VsActu al

listMIs

assessAcro ssM Is

<<d escrip tio n >>

Descrip tio n

ty p e

d escrip tio n

itemNu mb er

d efau ltValu e

assessWith P lu g In ElseDefau lt

assessAcro ssP PTs

fin d Av ailab le

calcQty Av ailab le

calcTo talF o r

listP PTs

listDescs

assessAcro ssDescs

in terface

<<p lu g -in p o in t>>

IAssess

a ssess

in terface

<<p lu g -in p o in t>>

IMa k eMomentIn terva l

ma keMomen tIn terva l

<<mi-d etail>>

MIDeta il

q ty

calcTo tal

Dro p a class alo n gth e lin k s wh en y o ud o n ' t n eed th e lev el o fsp ecificity p ro v id ed b yth at class; ad ju st meth o dn ames acco rd in g ly.

Dro p a class alo n gth e lin k s wh en y o ud o n ' t n eed th e lev el o fsp ecificity p ro v id ed b yth at class; ad ju st meth o dn ames acco rd in g ly.

Dro p a class alo n gth e lin k s wh en y o ud o n ' t n eed th e lev el o fsp ecificity p ro v id ed b yth at class.

<<mi-d etail>>

MIDeta il

calcTo tal

<<mi-d etail>>

MIDeta il

q ty

<<mi-d etail>>MIDeta il

<<mo men t-in terv al>>

MomentInterv a l

Often , p in kmo men t-in terv alsh av e p arts,called mi-d etails.

<<mi-d etail>>

MIDeta il

Often , p in kmo men t-in terv alsh av e p arts,called mi-d etails.

<< ro le>>Ro le

assig n ed Nu mb er

statu s

assessAcro ssM Is

listMIs

listRo les

assessAcro ssRo les

GTI515 Automne 2012 JF Couturier 50

Page 50: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Patron pour Activité Métier

GTI515 Automne 2012 JF Couturier 51

Page 51: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Patron pour Entité Métier

GTI515 Automne 2012 JF Couturier 52

Page 52: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Étude de cas

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

GTI515 Automne 2012 JF Couturier 53

Page 53: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Hotel Management System Processus d’affaires

RéservationLocationFacturePaiementService aux chambresEntretien aux chambres

Un cas d’utilisation par PMÉ

GTI515 Automne 2012 JF Couturier 54

Page 54: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Les éléments d’une réservation

Processus d’affairesRéserver une chambre

Entités d’affairesClientChambreEmployé (optionel)

Identifier les archétypes

GTI515 Automne 2012 JF Couturier 55

Page 55: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Les éléments d’une réservation Processus d’affaires

Réserver une chambre MIMI

Detail Entités d’affaires

Client RoleChambre Thing

DescriptionEmployé Role

GTI515 Automne 2012 JF Couturier 56

Page 56: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

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 Automne 2012 JF Couturier 57

Page 57: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Étude de cas – Voyage scolaire

GTI515 Automne 2012 JF Couturier 58

Page 58: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Étude de cas – Voyage scolaire

GTI515 Automne 2012 JF Couturier 59

Diagramme des CU

Page 59: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Étude de cas – Voyage scolaire

GTI515 Automne 2012 JF Couturier 60

Cas d’utilisation

Page 60: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Étude de cas – Voyage scolaire

GTI515 Automne 2012 JF Couturier 61

Modèle du domaine

Page 61: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Étude de cas du garage

GTI515 Automne 2012 JF Couturier 62

Page 62: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Qu’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 Automne 2012 JF Couturier 63

Page 63: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Qu’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 Automne 2012 JF Couturier 64

Page 64: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Conclusion 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 Automne 2012 JF Couturier 65

Page 65: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Ressources

Java Modeling in color Object modeling in color Wiki : UML Colors

GTI515 Automne 2012 JF Couturier 66

Page 66: Systèmes d’information dans les entreprises

Département de génie logiciel et des TI

Prochain cours

BPMN Workflow patterns Modélisation des flux de données

DFD Lecture

chapitres 5, 6 et 7 d’UML2 par la pratique.

GTI515 Automne 2012 JF Couturier 67