• Aucun résultat trouvé

Automne 2002 Petko Valtchev! "

N/A
N/A
Protected

Academic year: 2022

Partager "Automne 2002 Petko Valtchev! ""

Copied!
10
0
0

Texte intégral

(1)

!"## "

1

Automne 2002 Petko Valtchev

! "

(2)

!"##

3

# " " $ " % &

Nous avons passé une session à décortiquer les notations UML

Ceci aurait pu déranger les collègues qui n’aiment pas les diagrammes

Points à retenir

Bien que le cours a beaucoup insisté sur UML et ses diverses notations, il n’est qu’un langage de description.

Sa maîtrise doit être complété par une méthodologie d’application, typiquement fournie par un processus de développement.

Ses auteurs, réunis au sein de la société Rational Co., recommandent leur propre (famille de) processus de développement qui permet de tirer le meilleur d’UML.

Ces processus sont réunis sous le nom générique de Unified Process (UP).

Unified Software Development Process (USDP) est le dernier né de la famille (dans le passé son prédécesseur s’appelait RUP pour Rational UP)

# " " $ " $ & #

Tous les processus de la famille UP sont des processus itératifs. Ils séparent le cycle de vie du logiciel en des périodes courtes ou itérations.

Les itérations sont relativement homogènes du point de vue des activités qui sont effectuées par les participants mais aussi en vu des documents produits.

Les activités, appelées des disciplines, correspondent à des phases ou étapes de la terminologie du génie logiciel telle qu’elle a été introduite au début du cours.

Les processus UP reconnaissent cependant des phases séquentielles dans le développement, qui caractérisent l’avancement du projet logiciel.

(3)

!"##

5

# " " $ " % & ' #

Classification des phases:

Étude d’opportunité

(

Inception) : interactions préliminaires avec les intéressés (stakeholders en angl.)

principalement les clients et les usagers,

mais aussi les bailleurs de fonds, assureurs, etc.

Élaboration : finalisation de ce qui est demandé et nécessaire;

développement d’une vue approximative de l’architecture du système,

Construction : se termine par un produit initial fonctionnel,

Transition : livraison du produit complet

N.B. En général, toutes les activités se retrouvent au niveau de chacune des phases UP.

# " " $ "

Elaboration

Inception Construction Transition

Requirements Analysis

Iter.

#1

Iter.

#n Iter.

#n+1

Iter.

#m Iter.

#m+1

Iter.

….. #k

Prelim. ..

iterations

& ' # "

Design Implemen-

USDP: les Activités sont appelées disciplines (« core workflows »

dans le passé)

Classification des Itérations

Itérations Individuelles

(4)

!"##

7

# " " $ "

Besoins Analyse Conception Implémentation

Tests

Ingénierie des besoins

Implémentation Intégration Conception

Tests

" $ ! "

USDP Classique

# " " $ "

Elaboration

" % & #

Inception Construction Transition

Requirements

Analysis

Jacobson et al: USDP

Prelim.

iterations Iter.

#1

Iter.

#n Iter.

#n+1

Iter.

#m Iter.

#m+1

Iter.

….. ….. #k

Design Implemen-

tation

..

L’effort dépensé sur les besoins durant la première itération de la phase de la Construction

(5)

!"##

9

# " " $ " ( "

Modélisatº

métier Besoin Analyse Conceptº Implantatº Itération

1

Itération 2

Itération 3

Inceptº Élaboratº Constructº Transitº

# " " $ " % ) & *

Modélisatº

métier Besoin Analyse Conceptº Implantatº

1. Définir les CdU essentiels

2. Raffiner les diagrammes des CdU

3. Raffiner le modèle conceptuel

4. Raffiner le glossaire 5. Définir les diagrammes de séquence système

6. Définir les contrats des opérations

7. Définir les diagrammes

(6)

!"##

11

# " " $ " ) & *

Modélisatº

métier Besoin Analyse Conceptº Implantatº

1. Définir les CdU réels

2. Définir les rapports et les interfaces usager

3. Raffiner l’architecture

4. Définir les diagrammes d’interaction

5. Définir le diagramme de classes conception

6. Définir le schéma de la BD

# " " $ " % &

Les CdU selon Constantine [Constantine97] :

Analyse: “Essential use cases are expanded use cases that are expressed in an ideal form that remains relatively free of technology and implementation details;…”

Conception: “In contrast, a real use case concretely describes the process in terms of its real current design, committed to specific input and output technologies; …”

(7)

!"##

13

# " " $ " +

D’après Larman [Larman2002] :

“A conceptual model illustrates meaningful concepts in a problem domain; it is the most import artifact to create during object-oriented analysis.”

“A critical quality to appreciate about conceptual model is that it is a representation of real-world things, not of software components”

# " " $ " , - $

Sales Line Item quantity

Sale date time

Payment amount

Item quantity

Store address name

POST Concept

Association

Attributs

Contained in

Records sale of

Paid by

Captured on 1..*

1

1..*

* 0..1

(8)

!"##

15

# " " $ " " ' ( . ' + $

D’après Larman [Larman2002] :

“A system sequence diagram shows, for a particular course of events within a use case, the external actors that interact directly with the system,…”

Un diagramme de séquence par CdU.

L’ordre suit l’enchaînement des événements spécifié par le CdU.

Les système est considéré comme une « boîte noire ».

# " " $ " ' ' , - $

Cashier

:System

enterItem( UPC, quantity )

endSale()

makePayment( amount ) response

(9)

!"##

17

# " " $ " " ( "

“A system operation contract describes changes in the state of the overall system when a system operation is invoked.”

Éléments d’un contrat :

nom,

responsibilités,

post-conditions,

etc.

# " " $ " %

Qu’est-ce que les opérations Contrats

Quels sont les événements système et les opérations?

Diagrammes de Séquence Système

Quels sont les concepts?

Modèle Conceptuel

Quels sont les processus du domaine?

Cas d’Utilisation

Questions Visées Artefacts de l’Analyse

(10)

!"##

19

# " " $ " "

“A design class diagram illustrates the specifications for software classes and interfaces…”

Classes, associations et attributs,

Interfaces (opérations & constants),

Méthodes,

Information sur les types des attributs,

Navigabilité,

Dépendances.

# " " $ "

Sale date

isComplete : Bool time

Définition de classe à trois sections.

Navigabilité

Méthodes

Captures POST

enterItem() makeLineItem()

Type

Références

Documents relatifs

Ceux-ci concer- nent essentiellement le classement visuel des bois, le contrôle des dimensions des pièces avec une tolérance définit dans les normes, le contrôle de l’humidité

La surface d’un quadrilatère est maximum quand celui-ci est inscriptible dans un cercle.. Cette propriété résulte de la formule de Bretscheider qui donne l’aire A

S’il est facile d’imaginer la configuration de l’énoncé, sa construction effec- tive demande

Il a donc un centre de sym´ etrie qui est confondu avec O puisqu’il est le point de concours des parall` eles aux c´ eviennes ` a mi-distance entre les c´ eviennes et les hauteurs

- une coupure trop nette entre les adolescents et les autres congressistes, nous étions trop souvent entre ados et trop groupés dans les débats; nous sommes

Cette semaine nous exploiterons différentes recettes artistiques pour créer des potions magiques qui nous émerveillent et nous

« faits de société qui font société » entre AP et littoraux (urbains) SPÉCIFICITÉS LOCALES ET LIENS TERRITORIAUX. - Operations

Comme le Yin décrit le principe féminin, la mère sera représentée par le trigramme composé de 3 traits Yin et le père par 3 traits Yang.. Il est courant d'utiliser le