Vous êtes sur la page 1sur 22

"Le "Unified Process" comme méthodologie de gestion de projet

informatique. Eléments d'application en milieu sidérurgique"

Wautelet, Yves ; Louvigny, Laurent ; Kolp, Manuel

ABSTRACT

Ce document présente une mise en perspective de la modélisation informatique orienté-objet de la cokerie


de l’entreprise sidérurgique Carsid au cours de laquelle différents travaux d’analyse. Pour ce faire, la
méthodologie informatique UP ou Unified Process (en français processus unifié) combinée au langage de
modélisation UML ont été utilisés. Le UP définit un ensemble d’activités et de phases de développement
(ces dernières sont composées d’itérations) pour le traitement efficace d’un projet informatique. Ce
processus formalise un ensemble de concepts pertinents pour la gestion de projet comme les membres,
les activités, les artéfacts et l’enchaînement d’activités. Les différentes phases d’un développement UML
peuvent être représentées au moyen d’une série de diagrammes permettant de comprendre de manière
visuelle les concepts définis. Tous les modèles s’enchaînent en passant de l’analyse à la conception,
gagnant en complexité, dans un langage commun et unique, s’affinant au fur et à mesure pour arriver
à l’élaboration finale du modèle. Les diagrammes permettront de comprendre sous différents angles la
globalité du cas étudié en présentant une vue statique et dynamique de celui-ci. Chaque diagramme
exprimera une partie de la structure totale, tout en étant un aspect particulier du modèle. Un modèle UML
est toutefois toujours axé sur un ensemble d’hypothèses faites par l’équipe de travail et ne constitue donc
qu’une vue particulière parmi d’autres possibles. L’équipe de travail doit, ...

CITE THIS VERSION

Wautelet, Yves ; Louvigny, Laurent ; Kolp, Manuel. Le "Unified Process" comme méthodologie de gestion
de projet informatique. Eléments d'application en milieu sidérurgique. IAG - LSM Working Papers ;
07/109 (2004) 21 pages http://hdl.handle.net/2078/18216

Le dépôt institutionnel DIAL est destiné au dépôt DIAL is an institutional repository for the deposit
et à la diffusion de documents scientifiques and dissemination of scientific documents from
émanant des membres de l'UCLouvain. Toute UCLouvain members. Usage of this document
utilisation de ce document à des fins lucratives for profit or commercial purposes is stricly
ou commerciales est strictement interdite. prohibited. User agrees to respect copyright
L'utilisateur s'engage à respecter les droits about this document, mainly text integrity and
d'auteur liés à ce document, principalement le source mention. Full content of copyright policy
droit à l'intégrité de l'œuvre et le droit à la is available at Copyright policy
paternité. La politique complète de copyright est
disponible sur la page Copyright policy

Available at: http://hdl.handle.net/2078/18216 [Downloaded 2024/01/19 at 17:26:22 ]


LE UNIFIED PROCESS COMME METHODOLOGIE DE
GESTION DE PROJET INFORMATIQUE

Eléments d’application en milieu sidérurgique

Yves Wautelet, Laurent Louvigny, Manuel Kolp


IAG- ISYS (Unité de Systèmes d’Information), Université Catholique de Louvain,
1 Place des Doyens,1438 Louvain-la-Neuve, Belgique
Contact : kolp@isys.ucl.ac.be

Résumé : Ce document présente une mise en perspective de la modélisation informatique orienté-objet de la


cokerie de l’entreprise sidérurgique Carsid au cours de laquelle différents travaux d’analyse. Pour ce faire, la
méthodologie informatique UP ou Unified Process (en français processus unifié) combinée au langage de
modélisation UML ont été utilisés. Le UP définit un ensemble d’activités et de phases de développement (ces
dernières sont composées d’itérations) pour le traitement efficace d’un projet informatique. Ce processus
formalise un ensemble de concepts pertinents pour la gestion de projet comme les membres, les activités, les
artéfacts et l’enchaînement d’activités. Les différentes phases d’un développement UML peuvent être
représentées au moyen d’une série de diagrammes permettant de comprendre de manière visuelle les concepts
définis. Tous les modèles s’enchaînent en passant de l’analyse à la conception, gagnant en complexité, dans un
langage commun et unique, s’affinant au fur et à mesure pour arriver à l’élaboration finale du modèle. Les
diagrammes permettront de comprendre sous différents angles la globalité du cas étudié en présentant une vue
statique et dynamique de celui-ci. Chaque diagramme exprimera une partie de la structure totale, tout en étant
un aspect particulier du modèle. Un modèle UML est toutefois toujours axé sur un ensemble d’hypothèses
faites par l’équipe de travail et ne constitue donc qu’une vue particulière parmi d’autres possibles. L’équipe de
travail doit, dés lors, être consciente que la vue adoptée est réductrice et qu’elle ne correspond pas toujours aux
réalités et aux besoins du futur système informatique. Le UP fournit, à ce niveau, une méthodologie qui permet
de prendre en compte plusieurs aspects différents et pertinents pour la construction de modèles au cours
d’itérations successives.

lointains comme le Brésil, l’Afrique du Sud ou la


Mauritanie.
1 INTRODUCTION
Pour rester compétitif dans un tel contexte, les
entreprises sidérurgiques wallonnes n’ont d’autre
Les entreprises sidérurgiques belges, autrefois choix que de tenter d’augmenter la productivité de
florissantes, n’ont cessé leur déclin depuis les années leurs installations.
60. Les villes de Liège, Charleroi et La Louvière
disposant autrefois de mines de charbon à proximité Carsid (Carolo-Sidérurgie) est une joint venture
ainsi que de voies navigables et où l’on pouvait récente issue du mouvement de concentration. Elle
acheminer pour un coût acceptable le minerai de fer a été crée par les sociétés Duferco et Usinor Belgium
extrait en Lorraine furent des sites de choix pour les S.A. (composition du capital de 60/40). Duferco est
usines sidérurgiques. Toutefois, les charbonnages une entreprise italienne qui est notamment active en
ont petit à petit fermé leurs portes et le seul avantage Belgique (à la Louvière et à Clabecq). Usinor fait
compétitif dont pouvait disposer les sites wallons partie du géant mondial de l’acier Arcelor, en
était le savoir-faire de leurs métallurgistes acquis au partenariat avec le luxembourgeois Arbed et
cours des décennies. Loin d’être négligeable, cet l’espagnol Acelaria. Duferco possède une part
avantage peut toutefois difficilement compenser le majoritaire dans la société Carsid.
fait de devoir importer le minerai de fer de sites

1
Le projet sur la cokerie de Carsid, qui a vu le jour 2 ELEMENTS DE GESTION DE
grâce à la collaboration entre l’entreprise Carsid et
l’Unité de Systèmes d’Information (ISYS) de
PROJET
l’Université catholique de Louvain vise à réformer
les systèmes d’information actuels de l’entreprise
pour une meilleure exploitation des bases de La croissance en nombre, en taille et en complexité
données qu’elle possède. Les systèmes des logiciels, combinée à la nécessité d’obtenir sans
informatiques actuels sont de différentes conceptions cesse de nouveaux gains de productivité pousse le
monde du développement de logiciels à l’utilisation
et d’âges et ont été déployés au fur et à mesure du
de nouvelles méthodologies, non seulement au
développement de l’informatique industrielle, la
niveau de la modélisation, mais également au niveau
réforme de ceux-ci à pour but de rendre l’entreprise de la gestion de projets. Le Unified Process ou UP
plus compétitive au niveau international. En effet, la est l’une de ces méthodologies.
complexité du processus de production et le nombre
de machines capables de livrer des informations
génèrent une abondance de données qui doivent être 2.1 Meilleures pratiques d’élaboration
collectées et formatées de manière adéquate. Elles de logiciels
pourront ensuite s’avérer prépondérantes dans la
prise de décision aussi bien au niveau de la Les logiciels jouent un rôle central dans la gestion
production qu’au niveau du management. des entreprises modernes, dans les lois
gouvernementales et dans la société de
Le présent document présente une mise en l’information. Ils ont permis de créer de
perspective par la méthodologie Unified Process l’information, d’y accéder et de la visualiser sous
(UP) des différents travaux de modélisation orienté- une forme auparavant inconcevable. Les logiciels
objet réalisés dans le cadre du projet Carsid. Ces sont devenus incontournables ; ils ont favorisé la
différents travaux partagent un langage commun, croissance de l’économie mondiale et sont devenus
UML et on été effectués successivement mais sur indispensables à notre monde moderne.
base d’hypothèses différentes. L’exposé de ces Dans ce contexte, les logiciels ont considérablement
différents travaux selon la méthodologie et le crû et ce sous divers aspects : croissance en nombre,
formalisme du UP permet de mieux comprendre ces en taille et en complexité. De plus, les entreprises
hypothèses et pourquoi il convient de modéliser sur sont toujours à la recherche d’une augmentation de
la productivité.
base de celles-ci.
Pour toutes ces raisons, la création et la maintenance
Le travail qui suit présente, dans sa première partie, des logiciels est devenue de plus en plus compliquée
les concepts théoriques de la gestion de projet. Tout et la création de logiciels de qualité dans les règles
d’abord les meilleures pratiques d’élaboration de de l’art l’est encore plus. Par conséquent, trop de
logiciel sont exposées. Ensuite, la méthodologie UP projets échouent.
qui exploite ces pratiques est étudiée. Pour ce faire,
son architecture bidimensionnelle est présentée sous Pour lutter contre l’échec, de meilleures pratiques
forme de schéma synthétique. Les activités et les dans l’élaboration de logiciels ont été développées.
phases (ces dernières sont composées des itérations) Parmi ces pratiques, on trouve :
qui constituent ces deux axes sont également • le développement itératif ;
explicitées. • la gestion des besoins ;
• l’utilisation d’architectures basées sur les
composants ;
Dans sa seconde partie, ce travail expose
• la modélisation visuelle ;
l’application de la méthodologie UP à la cokerie de • la vérification continuelle de la qualité des
Carsid. Tout d’abord les concepts théoriques du UP logiciels ;
sont appliqués à la présente étude de cas, ensuite les • le contrôle des changements des logiciels.
différentes activités d’une part et phases et itérations
d’autre part menées jusqu'à présent sont expliquées Développement itératif. Le processus de
et comparées. développement de logiciels classique suit le cycle de
vie en cascade. Dans ce type d’approche, le
développement suit un processus linéaire
commençant par l’analyse des besoins puis le
design, ensuite le développement, suivi des tests

2
unitaires et des tests systèmes. L’inconvénient de documenter un système demande que celui-ci soit vu
cette approche est que le risque augmente au cours selon un certain nombre de perspectives. Toutes les
du temps de sorte qu’il est coûteux de réparer les personnes impliquées (utilisateurs, analystes,
erreurs des premières phases. développeurs, intégrateurs système, testeurs,
managers, etc.) apportent un agenda différent au
Une alternative au processus à cycle de vie en projet, et chacun regarde le système d’une façon
cascade est le processus itératif et incrémental. Dans propre à divers moments de la vie du projet. Une
cette approche, l’identification des risques liés à un architecture du système est la chose la plus
projet est forcée très tôt dans son cycle de vie, importante qui puisse être utilisée pour gérer ces
lorsqu’il est encore possible de réagir d’une manière différents points de vue et contrôler le
rapide et efficiente.
développement itératif et incrémental du système au
cours de sa vie.

Modélisation visuelle du logiciel. L’utilisation d’un


langage de modélisation standard comme UML
permet aux membres de l’équipe de développement
de communiquer leurs décisions l’un à l’autre sans
ambiguïté.
L’utilisation d’outils de modélisation visuelle facilite
la gestion de ces modèles et contribue à maintenir la
consistance entre les artefacts du système : ses
Figure 1 : Un processus itératif et incrémental. besoins, designs et implémentations. En résumé, la
Chaque itération a pour finalité une version modélisation visuelle permet de gérer la complexité
exécutable. des logiciels.
Avantages du développement itératif :
Vérifier continuellement la qualité logicielle. Les
• les risques sont évalués au départ et non au
logiciels sont 100 à 1000 fois plus coûteux à corriger
cours du projet ;
• les premières itérations permettent d’avoir après leur déploiement qu’avant. Il est donc
un feed-back des utilisateurs ; important d’évaluer continuellement la qualité d’un
• les tests et l’intégration se font de manière système du point de vue de la fonctionnalité, de la
continue ; fiabilité et de la performance.
• les jalons permettent de fixer des objectifs ; Vérifier la fonctionnalité implique de tester chaque
• les avancées sont évaluées au fur et à scénario possible, un scénario représentant un aspect
mesure de l’implémentation ; du comportement du système désiré.
• des maquettes intermédiaires peuvent être
mises sur pieds.
Contrôler les changements logiciels. L’une des
grosses difficultés dans le développement logiciel
Gestion des besoins. Un besoin est une condition ou
est que plusieurs développeurs organisés en équipes
une possibilité que le système doit rencontrer. Le
pouvant être sur différents sites travaillent ensemble
problème avec la gestion des besoins est qu’ils sont
sur plusieurs itérations, versions, produits, plates-
dynamiques : ils évoluent au cours de la vie du
formes. En l’absence d’un contrôle discipliné, le
projet.
processus de développement peut dégénérer en
En effet, les utilisateurs ne savent pas au départ
chaos.
quelles sont leurs exigences et comment les spécifier
Coordonner les activités et les artefacts des
précisément. Leurs exigences changent lorsqu’ils
développeurs et des équipes implique d’établir des
voient le travail accompli. Barry Boehm, professeur
enchaînements d’activités (workflows) pour gérer les
à l’université de Californie du Sud, appelle ce
changements dans les logiciels et les artefacts. Cette
phénomène l’effet IKIWISI pour I Know When I See
coordination permet une meilleure allocation des
It.
ressources basée sur les priorités et les risques du
L’identification des besoins réels est dès lors un
projet et permet de gérer le travail sur ces
processus continu.
changements au travers des itérations. Combinée au
développement itératif, cette technique permet de
Utilisation d’architectures basées sur les
contrôler les changements de sorte qu’il soit possible
composants. Visualiser, spécifier, construire et
de découvrir activement les problèmes et d’y réagir.

3
2.2 UP
UP. Le UP ou Unified Process est un processus de
conception/développement de logiciel. Il apporte
une approche disciplinée pour assigner des tâches et
des responsabilités dans une organisation de
développement. Son but est d’assurer la production
de logiciels de qualité qui rencontrent les besoins de
ses utilisateurs finaux dans un horaire et un budget
prédictibles.
Le UP est bâti sur ces six meilleures pratiques
d’élaboration des logiciels pour délivrer un Figure 2 : Chaque membre est considéré
processus bien défini dans une forme adéquate pour comme un acteur
un grand nombre de projets et d’organisations.
Le UP permet d’accroître la productivité en
Processus. Un processus décrit qui fait quoi, conception/développement en fournissant un
comment et quand. Le UP définit ainsi quatre ensemble d’outils communs à chaque membre
éléments primaires de modélisation : impliqué dans le projet. Tous les membres partagent
• Le membre est le qui : le chef de projet, ainsi :
l’analyste, le testeur, l’utilisateur, etc. • des bases de connaissance ;
• une méthode commune ;
• L’activité est le comment : analyse des cas
d’utilisation, conception de cas • une même organisation du travail ;
d’utilisation, etc. • un langage.
• L’artefact est le quoi : un document de
l’architecture, un modèle des cas
d’utilisation, un fichier exécutable, etc.
• L’enchaînement d’activités est le quand :
modélisation métier, implémentation, test,
etc.

Membre (ou workers ou roles). Le concept central


dans un processus est celui de membre. Un membre
définit le comportement et les responsabilités d’un
individu ou d’un groupe d’individus travaillant de
concert comme une équipe. Le comportement est
exprimé en terme d’activité que le membre effectue
et chaque membre est associé à une gamme Figure 3 : Le UP comme langage commun de
d’activités. Les responsabilités du membre sont l’organisation
souvent exprimées en relation avec les artefacts qu’il
crée, modifie ou contrôle. Activités. Les membres ont des activités qui
Le membre doit être considéré en terme de définissent le travail qu’ils effectuent. Une activité
« casquette », c’est-à-dire en fonction du rôle qui est une unité de travail qu’un individu dans un rôle
définit comment celui-ci devrait faire le travail. Par bien précis peut effectuer et qui produit un résultat
exemple, un analyste système est un individu sensé dans le cadre du projet. L’activité a un but
agissant comme un analyste système qui dirige et clairement établi, généralement exprimé en terme de
coordonne les besoins et la modélisation par cas création ou de mise à jour d’artefacts, comme un
d’utilisation en définissant la fonctionnalité du modèle, une classe, ou un plan. Chaque activité est
système et en délimitant celui-ci. assignée à un membre spécifique.

4
Artefacts. Les activités ont des artefacts comme
input et comme output. Un artefact est une patrie Architecture bidimensionnelle du UP.
d’information qui est créée, modifiée ou utilisée par
un processus. Les artefacts sont les produits
tangibles du projet : les choses qui sont produites par
le projet ou utilisées pour travailler sur le produit
final. Les artefacts sont utilisés comme input par les
membres pour effectuer une activité et sont le
résultat ou l’output de telles activités. En vision
orientée objet, les activités sont les opérations sur un
objet actif (le membre), les artefacts sont les
paramètres de ces activités.

Figure 6 : Architecture bidimensionnelle du UP.

Axe vertical : activités essentielles et de soutien.


Le UP possède six enchaînements d’activités
essentielles ou d’ingénierie et trois enchaînements
d’activités de soutien.
Figure 4 : Principaux artefacts du UP Les six activités essentielles sont : la modélisation
métier, la gestion des exigences, l’analyse et la
Enchaînement d’activités (workflow). Une conception, l’implémentation, le test et le
énumération de tous les membres, activités et déploiement. Les trois activités de soutien sont la
artefacts ne constitue pas un processus. Il est gestion de la configuration et des changements, la
nécessaire d’avoir une façon de décrire des gestion de projets et l’environnement.
séquences d’activités sensées qui produisent un
résultat de qualité et montre l’interaction entre les Modélisation métier.
membres. Le workflow est une séquence d’activités La modélisation métier a pour but :
qui produit un résultat de valeur. En UML, il peut • de décrire la structure et la dynamique de
être exprimé par un diagramme de séquence, un l'organisation dans laquelle le système est
diagramme de collaboration ou un diagramme déployé ;
d’activité. • de comprendre les problèmes courants dans
l’organisation et d’identifier les améliorations
potentielles ;
• de garantir que les clients, les utilisateurs finaux
et les développeurs partagent une vision
commune de l'organisation ;
• de réaliser une base d'informations qui
contiendra le cahier des charges du produit et la
planification des tâches de l’organisation.

Pour atteindre ces buts, la modélisation métier décrit


comment développer une vision de la nouvelle
organisation et, basé sur cette vision, définit les
processus, rôles et responsabilités de cette
organisation dans le modèle de l’entreprise.
Figure 5 : Exemple de workflow

5
Gestion des exigences. • d’intégrer dans un système exécutable les
La gestion des exigences a pour but : résultats produits par des programmeurs
• d’établir et de maintenir les accords avec les individuels ou des équipes.
clients et autres stakeholders sur ce que le
système doit faire ; Test.
• de procurer aux développeurs une meilleure La phase de test a pour objectif d'évaluer le niveau
compréhension des besoins du système ; de qualité atteint par le produit et d'en tirer les
• de définir les limites du système ; conclusions. Ceci ne comprend pas uniquement le
• de procurer une base pour planifier le contenu produit fini, mais commence tôt dans le projet avec
technique des itérations ; la validation de l’architecture et continue à travers la
• de procurer une base pour estimer le coût et le validation du produit fini au consommateur.
temps pour développer le système ; Les tests comprennent :
• de définir et de construire une maquette de • la vérification des interactions des composants ;
l'interface utilisateur basée sur les exigences et • la vérification de la bonne intégration des
les buts de celui-ci. composants ;
• la vérification que toutes les exigences ont été
Pour atteindre ces buts, la gestion des exigences implémentées correctement ;
décrit comment définir une vision du système et • l’identification et la vérification que toutes les
traduire la vision en un modèle des cas d’utilisation défectuosités découvertes sont corrigées avant
accompagné de spécifications externes constituant le le déploiement du logiciel.
cahier des charges logicielles. De plus, la gestion
des exigences décrit comment utiliser les attributs Déploiement.
des exigences pour aider à gérer la portée et le Le but des activités de déploiement est de livrer le
changement d’exigences du système. produit aux utilisateurs finaux.

Analyse et conception Gestion de la configuration et des changements.


L’analyse et la conception ont pour but : Le but de la gestion de la configuration et des
• de comprendre le cahier des charges et d ’écrire changements est de tracer et de maintenir l’intégrité
les spécifications internes qui décrivent de l’évolution des spécificités du projet. Pendant le
comment implémenter le système (exigences développement du projet, de nombreux artefacts de
transformées dans la meilleure stratégie valeurs sont créés et représentent un investissement
d’implémentation possible). L'analyse permet significatif. Ces artefacts évoluent au cours du
d'obtenir une vue interne idéale du système ; projet et les membres doivent être capables de les
• la conception a pour but de définir une identifier et de les localiser, d’en sélectionner la
architecture robuste du système (c’est-à-dire version appropriée, et d’examiner leur historique et
facile à comprendre, construire et faire évoluer) la raison pour laquelle ils ont changé et d’en
qui recouvre entièrement les besoins de celui-ci identifier le responsable. De même, l’équipe en
; charge du projet doit être à même de tracer
• l'analyse se concentre sur le "quoi faire", la l’évolution du produit, de capturer et gérer les
conception se concentre sur le "comment le demandes de changement peu importe d’où elles
faire". viennent et implémenter ces changements de façon
consistante. Enfin, pour supporter l’enchaînement
Implémentation. d’activités, il faut procurer l’information du statut
L’implémentation a pour but : des artefacts clés du projet et rassembler les mesures
• de définir l’organisation du code en terme de liées aux changements qu’ils subissent.
sous-systèmes d’implémentation organisés en En résumé, le but de la gestion de la configuration et
couches ; des changements est de garder la trace de tous les
• d’implémenter classes et objets en terme de éléments tangibles qui participent au développement
composants ; et de suivre leur évolution.
• de tester les composants développés comme des
unités ; Gestion de projet.
La gestion d’un projet logiciel est l’art de mesurer
les objectifs compétitifs, de gérer le risque et les

6
contraintes pour fournir un produit qui rencontre les • synthétiser une architecture et évaluer les coûts,
besoins des consommateurs et des utilisateurs. plans et ressources nécessaires.

La gestion de projet a les buts suivants : La phase d’inception se termine par le jalon
• procurer un cadre pour gérer les projets « objectifs et cycle de vie ».
logiciels ;
• procurer des lignes de conduites pratiques pour Elaboration.
planifier, répartir le personnel, exécuter et La phase d’élaboration a pour but d’analyser le
contrôler les projets ; domaine du problème, de construire l’architecture de
• procurer un dispositif de gestion du risque. base, de résoudre les éléments à haut risque et de
définir la plupart des exigences. Il s’agit de la phase
L’environnement. la plus critique du projet. A la fin de celle-ci, le
Le but de l’environnement est de supporter travail d’engineering est terminé et l’on peut prendre
l’organisation du développement avec les processus la décision d’accomplir les phases de construction et
et les outils. Ce support inclut les éléments de transition du projet.
suivants :
• la sélection des outils de travail qui aident à Les activités principales de cette phase sont :
réaliser les activités et leur acquisition ; • élaborer une vision des cas d’utilisation les plus
• la mise en place et la configuration des outils critiques ;
convenant à l’organisation ; • le processus, l’infrastructure et l’environnement
• la configuration du processus de développement de développement sont élaborés et le processus,
adapté au projet ; les outils et le support mis en place ;
• le développement de ce processus ; • l’architecture est élaborée et les composants
• les services techniques pour supporter le sont sélectionnés et intégrés dans un scénario
processus : l’infrastructure de la technologie de primaire. Les leçons tirées de ces activités
l’information, l’administration comptable, les peuvent résulter en un changement
sauvegardes, etc. d’architecture.

La phase d’élaboration se termine par le jalon


Axe horizontal : phases du UP. « architecture du système ».

Construction.
Il s’agit de construire les fonctionnalités qui ne font
pas partie de l’architecture de base et préparer le
déploiement.

Les activités principales de cette phase sont :


• la gestion de ressources, le contrôle de
Figure 7 : phases du UP ressources et l’optimisation de processus ;
• le développement complet de composantes et le
Inception. test par rapport au critères d’évaluation définis ;
La phase d’inception a pour but de décrire la vision
• l’appréciation des produits par rapport aux
du produit final, de réaliser une étude de rentabilité
visions définies.
et de risques et de définir le projet.
Les activités principales de cette phase sont :
La phase de construction se termine par le jalon
• formuler l’ampleur du projet, c’est-à-dire
« prototype ».
capturer le contexte, les exigences et les
contraintes les plus importantes de façon à
Transition.
pouvoir définir des critères acceptables pour le
Le but de la phase de transition est de procurer le
produit fini ;
logiciel à la communauté d’utilisateurs. Après que
• planifier et préparer un business case et évaluer le produit ait été donné à l’utilisateur, il est
les alternatives du point du vue du risque, du généralement nécessaire de développer de nouvelles
staff, de la planification, du coût, du profit, … versions, de corriger certains problèmes ou de finir
certaines choses postposées.

7
Il s’agit d’effectuer les bêtas tests pour valider le chariots racleurs sur une bande de transport unique
nouveau système auprès des utilisateurs et le qui conduit le mélange vers le broyage.
déploiement de celui-ci. Les silos de réserve ont une capacité dix fois plus
grande que les silos doseurs et permettent de remplir
La phase de transition se termine par le jalon ces derniers en cas de besoin.
« livraison du produit » ou par une nouvelle Le premier traitement agissant sur la nature physique
itération. du charbon débute lors du broyage du lot transporté
à la sortie des silos doseurs. Après un passage par
une série de bandes transporteuses, un broyeur va
agir sur les différents charbons présents dans le
3 DESCRIPTION DU mélange afin d’obtenir une granulométrie
PROCESSUS DE COKÉFACTION homogène. Celle-ci diffère en effet en fonction de
l’origine des charbons. Un détecteur de métaux
identique à celui du transport de charbon brut
Le travail de préparation du coke à partir d’un contrôle les opérations afin de protéger la
charbon adéquat nécessite un long et lourd processus machinerie. A l’issue du broyage, le produit obtenu
de transformations successives du charbon (figure a pour dénomination « pâte à coke ». Elle est
2). Il s’agit de produire un coke de bonne qualité transférée au moyen d’une série de transporteurs de
tout en traitant tous les co-produits générés aux la tour de broyage vers la tour à charbon. Cette tour
cours des différentes étapes. La cokerie est divisée est située au dessus des fours et possède une capacité
en trois secteurs. de 3.600 tonnes, soit les besoins équivalent à une
journée de production.
Secteur préparation. La réception et le traitement
primaire du charbon cokéfiable constituent le début Secteur fours. Avant de débuter l’opération de
de la chaîne dans les installations de cokéfaction. distillation de la pâte à coke, il faut transférer la pâte
Les réceptions de charbon transitent par les ports dans les fours. L’équipe chargée des fours transfère
d’Anvers et de Rotterdam en provenance des États- à cet effet une quantité de pâte dans une machine
Unis, de Pologne, d’Afrique du sud et d’Australie. appelée enfourneuse. Cette machine, située au
Les caractéristiques propres des charbons diffèrent dessus des batteries, remplit ensuite les fours par des
selon leurs origines. Le transfert depuis les ports a ouvertures situées au dessus de ceux-ci, les bouches
lieu selon trois moyens de transport : par route, par d’enfournement. Ces ouvertures se présentent sous
eau et par voie ferroviaire, cette dernière manière la forme de bouchons et au nombre de quatre par
étant la plus régulièrement utilisée à la cokerie de four. Durant le remplissage, une autre machine
Carsid. appelée défourneuse s’occupe elle d’égaliser la
Les charbons qui arrivent sont stockés soit dans une charge de pâte tout le long du four afin d’assurer une
fosse soit dans une réserve qui sert de stock de meilleure répartition de la charge et homogénéiser la
sécurité afin de protéger l’entreprise des aléas cuisson. Les remplissages, ou enfournements,
éventuels des fournisseurs ou des livreurs. La suivent un planning précis qui tend à maximiser le
production réalisable au moyen de ce stock est nombre d’enfournements journaliers.
d’environ 15 jours au maximum. Le stockage Le remplissage fini, les ouvertures supérieures et
prolongé pourrait en effet nuire à la qualité du latérale sont fermées et le processus de cuisson de la
charbon utilisé, ce qui se répercuterait pâte débute. L’opération dure de 16 à 19 heures,
inévitablement sur la qualité du coke produit. selon la batterie dans laquelle se situe le four.
Une série d’instruments de transports (chariots Cependant, il est difficile d’évaluer les durées
racleurs, bandes transporteuses,…) sont utilisés pour exactes de cuisson à cause de nombreuses
le transport de charbon depuis la réserve vers des incertitudes liées aux fours. Les enfournements sont
silos de stockage. Ce transport est surveillé par une effectués selon un pas de cinq, ce qui signifie que la
machine qui détecte et capte les métaux qui seraient procédure est d’enfourner le four (n+5) après avoir
éventuellement présents afin d’éviter les déchirures enfourné le four (n). Cette méthode permet d’éviter
de la bande. Les silos sont divisés en deux catégories de trop grandes variations de température dans les
selon qu’ils soient silos de réserve ou doseurs. Les fours.
silos doseurs ont une capacité de 250 tonnes et sont Les fours sont rassemblés par série dans des
au nombre de 10. Ils permettent de mélanger les ensembles appelés batteries. Celles-ci sont au
charbons de différentes origines afin d’obtenir les nombre de quatre et composées de 20 à 50 fours, ce
caractéristiques chimiques désirées. Ce mélange se qui donne un ensemble total de 122 fours pour la
fait en dessous des silos : les quantités de charbon cokerie de Carsid. Les propriétés des fours au niveau
désirées sont déversées depuis chaque silo via 10 des temps de cuisson théoriques et des quantités

8
enfournables sont différentes selon la batterie à Le four atteint une température de plus de 1200°C
laquelle ils appartiennent. Les quatre batteries sont durant la cuisson, ce qui permet la transformation de
alignées en ligne avec la tour à charbon située au la pâte en saumon de coke, coke à très haute
milieu. Cette disposition permet une circulation plus température possédant déjà les caractéristiques
facile de la machinerie autour des fours. finales requises. Les gaz issus de la distillation sont
La composition en batterie trouve son origine dans récupérés en vue de leur valorisation.
une volonté de réduire les pertes calorifiques dans
chaque four. En effet, l’espace entre les fours, Secteur refroidissement. A la fin de la cuisson,
appelé piedroit, est composé d’une série de l’opération de défournement, c’est à dire de vidage
cheminées verticales par lesquelles passent les gaz du four, débute. Pour l’effectuer, le four est ouvert
permettant la cuisson dans les fours. Ces cheminées, par ses portes latérales. D’un côté, la défourneuse
appelées des carneaux, contribuent donc à la cuisson expulse la charge du four en la poussant. De l’autre,
de deux fours contigus. L’échange de calories se fait le guide coke, un couloir muni d’une auge mobile,
par conductivité sans contact direct avec la pâte à réceptionne la charge et la transfère jusqu’à un
coke. Les gaz utilisés sont soit issus de la cokerie wagon, le coke car. L’opération de refroidissement
soit du haut fourneau, ce qui permet de rendre la débute. Le coke car est conduit vers la tour
cokerie indépendante au niveau énergétique. Les d’extinction. Une quantité d’eau de 25m³ y est
fumées de combustion sont récupérées en passant déversée. Elle doit refroidir et éteindre le saumon de
dans les empilages des briques réfractaires lors d’un coke. Une grande partie de cette eau s’évapore
premier cycle. Lors d’un second cycle, les gaz de directement au contact du saumon. Les eaux
combustion les parcourent afin de récupérer leur résiduelles sont traitées dans un bassin de
chaleur. Le passage d’un cycle à l’autre est décantation afin de les réutiliser ultérieurement. Le
dénommé « inversion ». Ce passage a lieu toutes les coke est éventuellement arrosé manuellement dans
demi heures. le cas où il ne serait que partiellement éteint.

Figure 8 : Schéma général de la cokerie: enfournement, défournement et refroidissement

9
L’étape suivante est la mise en attente du coke, qui 4 APPLICATION DU UP A LA
transite par un quai d’étalement afin de perdre son
humidité. Après une période d’attente d’environ COKERIE
trente minutes, le coke car transférera le coke obtenu
vers la tour à gros coke. Là, l’opération de criblage Ce chapitre aborde l’application de la méthodologie
débute. Il s’agira de séparer les fragments que l’on UP/UML au projet de modernisation de
considère comme « coke sidérurgique », c'est-à-dire l’informatique de la cokerie de Carsid.
propres à être utilisés dans l’élaboration de l’acier,
des autres, valorisables à d’autres usages. La base de
cette sélection se fait sur la taille des morceaux, qui 4.1 Le UP comme gestionnaire de projet
doit être suffisante pour garder une bonne
perméabilité de la charge. Les fragments considérés Le schéma de la figure 6 présente l’architecture
comme sidérurgiques sont expédiés vers le haut bidimensionnelle du UP. La transposition de ce
fourneau tandis que le « petit coke » est dirigé vers schéma générique aux activités effectuées dans le
l’agglomération. cadre du projet Carsid est présenté dans le schéma
Certaines tâches de réparation doivent être de la figure 9.
effectuées sur les fours. Les équipes de maçons ont
la responsabilité de réparer les fissures et autres Notons tout d’abord que l’état d’avancement du
problèmes pouvant survenir au niveau des fours. projet Carsid ne nous a permis de travailler, au
Ceux-ci s’usent et peuvent connaître des problèmes niveau de l’architecture verticale, que sur les trois
au niveau de leurs briques de revêtement. La
premières activités de l’enchaînement défini par le
réparation d’un four se fait à la température de
UP : la modélisation métier, la gestion des exigences
700°C. Il est impossible de descendre en dessous de
ces températures car les briques changeraient d’état et l’analyse et la conception.
et deviendraient cassantes comme du verre. Les
opérations de réparation sont donc des travaux Au niveau de l’architecture horizontale du UP,
lourds et difficiles, compte tenu des conditions de seules les phases d’inception et d’élaboration ont pu
température présentes. être abordées.

Il existe finalement une équipe de mesure et de Membres.


réglage qui a pour but de veiller au bon La phase d’inception constitue le travail préliminaire
fonctionnement de l’appareil de production de la réalisé par Aymeric Donnay et l’équipe de
cokerie. Elle contrôle la température des fours en chercheurs du département ISYS. Il comprend une
mesurant la chaleur dans les carneaux des fours et modélisation UML complète de la cokerie.
peut donc réguler cette dernière. Elle est aussi La phase d’élaboration constitue le travail réalisé
responsable de l’inversion du cycle de chauffe de la après l’itération préliminaire. Il comprend la rétro
batterie, qui a lieu toutes les demi heures environ. ingénierie des bases de données réalisée par Marti
Ibarz et la modélisation UML réalisée par Laurent
Louvigny et Yves Wautelet.

Figure 9 : schéma générique du RUP appliqué


à la cokerie de Carsid.

10
de l’utilisation possible du traitement de ces
informations dans le processus décisionnel et,
d’autre part, aux besoins des utilisateurs du système
informatique actuel. Ces deux points de vue ont
permis de définir les besoins réels en matière de
traitement de l’information qui ont servi de base à la
phase d’analyse du système.

Analyse et conception.
La finalité de la phase d’analyse et conception fut la
mise en place d’un diagramme de classe
accompagné de ses méthodes. L’architecture de ce
diagramme fut dictée par la réutilisation du système
de base de données relationnelles existant et ainsi
définie par rétro-ingénierie de celui-ci. La
Figure 10 : Les membres du projet Carsid. spécification des méthodes présentes dans ce
diagramme est le résultat de la phase de gestion des
exigences pour la cokerie et de la phase de
4.2 Axe vertical : les activités modélisation métier pour la traction et la bascule.
Ces spécifications sont un contrat entre les
Il convient maintenant de décrire plus amplement les programmeurs de la méthode et ses utilisateurs.
activités réalisées dans le cadre de la modélisation Dans le cas présent elles serviront aux membres
métier, de la gestion des exigences et de l’analyse et chargés d’implémenter le système car elles
la conception, soit suivant l’architecture verticale du spécifient l’état du système à l’entrée de la méthode
UP. et à la sortie. Ceci sera rappelé dans le chapitre 10.

Modélisation métier. Implémentation, test et déploiement.


Pour traiter la modélisation métier de la cokerie, de Ces phases du projet n’ont pas encore été réalisées.
la traction et de la bascule, un diagramme des cas
d’utilisation ainsi que des diagrammes d’activités Artefacts. Les activités ont des artefacts comme
ont été réalisés. Ceux-ci avaient pour but de décrire input et comme output. Ceux-ci peuvent se résumer
la structure et la dynamique de l'organisation. Pour par le tableau de la figure 10 et leur enchaînement
ce faire, les différents membres impliqués ont peut se visualiser par le schéma de la figure 11.
effectué des visites des installations concernées et
interviewé des travailleurs en charge de ces
installations et des responsables du système
informatique actuel. Par ailleurs, ils ont également
étudié les documents internes sur le processus de
production fournis par l’entreprise. Ceci a permis à
l’équipe comprendre l’organisation de la cokerie et
de percevoir la complexité des processus à traiter
avant de les modéliser. Le modèle créé permet aux
membres du projet et au département informatique
de Carsid de partager une vision commune de
l’organisation.

Gestion des exigences.


Pour traiter la gestion des exigences de la cokerie,
un diagramme des cas d’utilisation ainsi que des
diagrammes d’activités ont également été réalisés.
La démarche fut toutefois quelque peu différente.
Les membres en charge de cette étape se sont
intéressés d’une part aux machines capables de
fournir des informations au système informatique et

11
Figure 11 : Artefacts comme input et output.

Figure 12 : Visualisation des artefacts.


12
Enchaînement d’activités (ou workflow). 4.3 Axe horizontal : phases et itérations
L’enchaînement d’activités telles qu’il a été réalisé au
cours de l’élaboration du projet peut se visualiser dans le Inception : itération préliminaire. Lors de
schéma de la figure 13. Outre la séquence d’activités, on l’itération préliminaire, soit la phase d’inception,
peut également y voir l’interaction entre les membres. une modélisation UML complète de la cokerie à été
réalisée. Celle-ci comprenait un diagramme des cas
d’utilisation, des diagrammes d’activités, de
séquence, de collaboration, … et un diagramme de
classe. L’étude était essentiellement basée sur la
modélisation métier de la cokerie et donc axée
processus de production.

Elaboration : itération 1 et itération 2. La phase


d’élaboration comprend l’itération 1 soit la rétro
ingénierie des bases de données relationnelles
existantes et actuellement en utilisation chez Carsid
et l’itération 2 soit une modélisation UML complète
de la cokerie basée sur la gestion des exigences et
donc plus proche des besoins réels des utilisateurs
du futur système. Il convient de noter que cette
deuxième phase est donc plus proche de l’utilisateur
final du futur système et s’éloigne de la modélisation
du processus de production.

Figure 13 : Enchaînement d’activités ou


workflow

Tour_à_Charbon Four
(f rom Logical View) (f rom Logic al View)

équipe préparation

mélange
Enfourneuse
(f rom Logic al View)

équipe réglage
approvisionnement tour à charbon

inversion chargement enfourneuse


réglage mesurage t° enfournement

<<extend>>
<<extend>>
Guide_Coke
(f rom Logical View)

<<extend>>
défournem ent cuisson
trans fert charbon silo

réception fads refroidiss ement

équipe FADS
réception charbon
criblage du coke équipe four
réception réserve

Coke_Car
(f rom Logical View)

Figure 14 : Diagramme des cas d’utilisation de l’itération préliminaire.

13
Broyeuse Enfourneuse E nfourneuseE3
Equipe m élange

< <ex tend> >

M élanger charbon Enfournem ent En fourneuse E1

<<e x tend > >

<<extend>>

Encod er tem perature carne aux Cuiss on Four

< <ex tend>>


<< extend>>

<<ex tend> >

Defouneus e Defournem ent Creer pl anni ng d efou rnem ent

<<inc l ude> >


Guide Coke

<<inc lude> > <<include>>

Rec hercher Inform ation Utili ser intranet E ncoder Cahier Electronique

Chercheur d'inform ations Utilisateur Eq uipe cont ro le


M anagem ent

Ingenieurs de production Servic e inform atique Contrem aitre

Equipe reglage

Figure 15 : Diagramme des cas d’utilisation de l’itération 2.

Les itérations : comparaisons et évolution du


modèle.
Diagrammes d’activité. Un workflow est une
Diagrammes des cas d’utilisation. Les diagrammes séquence d’activités qui s’enchaînent au long d’un
des cas d’utilisation ont été présentés dans les processus. Lors de l’itération préliminaire, le
figures 14 et 15. Le lecteur peut constater que les workflow de la cokerie de Carsid avait été représenté
cas d’utilisation repris dans le diagramme de à l’aide de diagrammes d’activité qui permettent de
l’itération préliminaire sont essentiellement axés sur représenter les enchaînements et les
les processus de production, tandis que ceux de synchronisations nécessaires au bon fonctionnement
l’itération 2 sont plus proches de l’utilisateur du du travail de production de coke (Figure 16).
système informatique. On peut comparer cette séquence d’activité au
workflow résultant de l’itération 2 (Figure 17). Ce

14
workflow est constitué de trois diagrammes
d’activité complémentaires et successifs, liés aux
trois cas d’utilisation Mélanger charbons,
Enfournement et Défournement.
L’approche des deux workflows est assez différente,
bien que certaines activités soient assez similaires.
On notera, une nouvelle fois, que dans l’itération 1,
l’accent est porté sur le processus de production,
tandis que dans l’itération 2, il est porté sur les
relevés d’information, les calculs, l’enregistrement
et la validation de données.

Diagrammes de classe. Lors de l’itération


préliminaire Aymeric Donnay et l’équipe ISYS ont
générés un premier un diagramme de classe basé sur
la modélisation métier de la cokerie. Ce diagramme
de classe est présenté en figure 18.
A l’issue de la deuxième phase du projet Carsid, soit
de l’itération 1, Marti Ibarz a réalisé par rétro
ingénierie des bases de données existantes un
nouveau diagramme de classe assez différent de
celui produit lors de l’itération préliminaire, mais
plus proche de la réalité des systèmes informatiques
actuels de Carsid. Conçu au départ de bases de
données relationnelles, ce diagramme ne présente
des classes et des attributs mais pas de méthodes.
Ce diagramme de classe est présenté en figure 19.
Enfin, sur base des modèles définis lors de la
dernière phase, soit l’itération 2, un diagramme de
classe plus complet a été élaboré. Ce dernier est
présenté en figure 20 et 21. Ce diagramme
s’architecture autour de la rétro ingénierie des bases
de données de Carsid, mais présente également des
méthodes répondant aux besoins de l’utilisation du
système et définis lors de l’étude de gestion des
exigences de la cokerie, de modélisation métier de la
traction et de modélisation métier de la bascule.

15
stock_charbon : Stock_Charbon détecteur : Detecteur_Overband bande : Bande_Transporteuse silo mag : Silo_Magasin silo dos : Silo_Doseur bande : Bande_Broyeur broyeur : Broyeur tour : Tour_à_Charbon enfourneuse : Enfourneuse four : Four défourneuse : Défourneuse guide : Guide_Coke car : Coke_Car tour : Tour_Extinction aire : Aire_a_Coke cribleur : Criblage

(transferts débutés)
transporter le (remplissage du doseur)
brut
contrôler le (remplissage du magasin)
réception du charbon (Brut en silo)
brut stocker le brut
réceptionner le
brut
(métaux retirés)
transférer au (mélange non disponible)
doseur

doser le broyer le
(mélange disponible)
mélange transporter le mélange de brut
mélange

réceptionner et
(arrivée d'un train, bateau ou camion)
stocker la pâte

(mélangé, broyé et transporté) (tour chargée en pâte) (enfourneuse pleine)

approvisionner recharger
l'enfourneuse

(enfourneuse alignée et ouverte) égaliser la


charge du four
fournir la pâte
au four

(cuisson terminée) diriger la charge

cuire la pâte

pousser la charge de prendre la température


vider le four saumon réceptionner le
(four rempli et fermé) et le profil
saumon

( coke car aligné à la tour d'extinction )

transporter au éteindre le
saumon
refroidissement(charge d'eau déversée)
(coke car chargé de coke) (temps de refroidissement écoulé)

laisser se refroidir la
charge
transporter au (coke car aligné à l'aire à coke)
quai d'attente (saumon non éteint)
(saumon éteint)

arroser
(saumon éteint)
transporter et déversr la cribler le coke
charge au criblage ( coke criblé )
(coke car aligné au criblage)

Figure 16 : Diagramme d’activités de l’itération préliminaire.

16
Equipe mélange Tapi s roula nt Broyeuse Laboratoire

Mise en silo du c harbon

Calculer les Racler les


mélanges charbons

Mélanger Analyser mélange


charbon

Transporter le Broyer Rapporter les résultats de


mélange l'analyse dans l'intranet

Tour à charbon Equip e enfour nement Enfourneuse Défourneuse Ba se de don nées Contremaître

Mélange dans la tour a charbon

Chargement de Ouverture des mamelles Positionnement


l'enfourneuse de remplissage au-dessus du four

Alignement Repalage
IPOVECO

Remplissage du
four

Scellé des Enregistrement des données


mamelles relatives à l'enfournement

Vali der
l'enfournement

Gu ide coke Défourneuse Coke car Four à coke Cotherm Contremaître

Fin de la cuisson

Alignement du Alignement de Alignement du


guide coke la déf ourneuse coke car

Mise en place de l'auge Ouv erture des


mobile du co ke car por tes

Pousse le coke
dans le coke car

Relev é de la température, de la
puissance et du prof il coke

Four v ide

Fermeture des Val id er le


portes déf ournement

Figure 17 : Diagramme d’activités de l’itération 2.

17
C hariot_Rac leur D etec teur_Ov erband Trans port eur
Localis at ion : String Enf ourneuse
Localis ation : st ring
det ect ion_dechirure() nom : St ring
arrêter() est_act if () Tour_à_C harbon niv eau : Int eger
transf ert()
s top_t rans f ert () est _ac tif () démarrer() N iv eau : Integer puissance : I nt eger
arrêter() 0.. 1 approvisionne aliment ation : Variant
est _act if () 0.. 1
1
1 Bande_Transporteuse_pat e transf ert_charbon() enf ourneuse-à-m esure
0..10 transfere 0..1
approv isionnem ent () 0.. n aligner_t our()
0..10 mélange() remplir_f our()
t ransfère 1.. 10 1. .*
1 ouv rir_enf ourneuse()
0. .*
0.. 1 0. .1 f ermer_enfourneuse()
ouv rir_bouches ()
St ock_Charbon
1 Bande_Transporteuse 1 Silo_D oseur f ermer_bouches ()
Ty pe : String Silo_Magasin melange 0..1
transporte stoc ke c apac ité ent re
Prov enance : St ring Contient 0. .2
capacité 1. .n
D ate : D ate dém arrer() 0..n dirige
0.. 1 1 0. .n
0. .1 arrêter()
1.. n
transf ert() est _actif ()
0. .1 0.. 1 0. .n
liv raison()
Stocke déplace remplit
0. .n 1
Silo
Broy eur 0..n s' occ upe
N iv eau : Integer broie
cont rôle H umidit e : D ouble Pât e_à_c oke 0.. *
0. .* cont ient démarrer() enf ournem ent
Loc alisation : String
Brut arrêter() 0. .1 0. .n quantité : D ouble
1 C apacit é : Integer planning_e
0..* est_actif () date et heure planif ée : D at e
0. .* 0..n
mélange() date et heure ef f ect iv e : D ate 1 1. .*
0..n
R eserv e remplir_silo()
0..* 0. .n cont ient F our
FAD S
localisation : String c ont role 0. .2 numéro : I nt eger
0. .2 respect e_planning : Boolean
Temperat ure : Int eger
EQ prep
capac it é : Integer Batt erie
0. .1 0..2
Nom : {Coppee1, C oppee2, Koppers , D idier}
porte_ent rée_ouv ert e()
0. .1 EQ.F AD S 0.. 1 Temperature_globale : I nt eger
dirige 0..n porte_sortie_ouv erte()
Heure_inv ersion_suiv ant e : D ate
es t_v ide()
nb_f ours : Int eger
es t_enf ourné() 0..50 1
temps cuisson : Integer
répare es t_égalis é()
nb_carneau : Integer
0..n cuiss on_terminée()
qté_enf ournable : Integer
t rappe_ouv ert e()
EQ maç on ouv rir()
0..n 1
0..1 f ermer()
réparer-f our() ac tiv er()
désac tiv er()
t empérature_estimé()

personne Equipe_de_trav ail 1


1..n
nom : String rotation : I nteger
Piedroit
prénom : String nom bre personne : Integer contrôle
âge : I nt eger contrem aître : personne N umero : I nteger
1..n 1 s ens_inv ersion : Boolean
tit re : St ring horaire : D ate

inv ersion()
c heck _press ion()
m at ière_première
c heck _température()
propriét é
quantité : I nt eger EQ reglage
1
compose
0.. 4 Planning_d correspond 0. .1
def ournem ent_en_c ours : D ef ournement 1..n
0.. 4
EQ f our Carneau
1 def ournem ent_s uiv ant ()
opt imiser() 1 0..n N umero : I nt eger
0..4 0..4 Tem perat ure : Int eger
mesure
Saumon 0. .4 0..n
0..4 0..4 prépare t empérature : D ouble
prof il : prof il 0. .4 est _en_c hauf f e()
D ef ournement t emps : D at e
températ ure (haut) : I nt eger
0..1 0.. n date & heure planif iées : D ate
températ ure (milieu) : Int eger
date & heure ef f ec tiv es : D at e
températ ure (bas) : Integer
0. .n f orce : Force de déf ournem ent
0. .n f our : F our
0. .n coke_car : C ok e car
0.. n 0. .n
1 guide_coke : Guide coke
def ourneuse : D éf ourneuse
caus e_non_res pect_tim ing : St ring
pression : Integer

0.. n encoder_c ause()


0..n
coke
0..n
t empérature : I nteger corres pond

criblé()
0..n 0..n correspond 1
correspond
Guide_C oke
puissanc e : I nt eger
alimentation : Variant
0..3
0. .4
1 0. .1 t ransf érer_saumon()
0..1 D éf ourneus e
0..1 0.. 2 ouv rir_porte()
0. .1
nom : St ring f ermer_port e()
Tour_Ex tinct ion
0. .1 C oke_C ar puissance : Integer prendre_t°()
N iv eau_eau : Integer alim entation : Variant
C riblage 0..1 puissanc e : I nt eger t °haut()
0..1
éteint s aumon planning : Planning_d t °milieu()
dév erse_charge() aliment ation : Variant 1
déf ournement : Def ournement t °bas()
cribler() es t _libre() 0..1
arrêt er() est-v ide() prendre_prof il()
res erv oir_plein() ouv rir_f our()
es t_libre() 0.. 1 0. .2 réceptionner_mp()
0.. 2 déf ourner()
aligner_t our()
0.. 2 f ermer_f our()
aligner_c ribleur()
apporte cok e apporte s aumon cherc he_def ournem ent ()
aligner_aire()
v alidation_def ournem ent ()
0. .1 0.. 1 dev ers er_coke()
ouv rir_t rappe()
égalis er_contenu_f our()
Aire_a_Coke
f ermer_t rappe()
temps_at tente : D at e
0. .1
attent e_ref roisis sement()
arrosage()
est _libre()
Auge_Mobile
guide c oke à mes ure En_place : Boolean

Positionable

pos it ion()
aligner()
est _libre()
aligné_s ur()

Figure 18 : Diagramme de classe de l’itération préliminaire.

Deplacer
M essageTr aceChr onologiqu RecapPauseCoPr oduit
eDat a
Pays Elem ent 0. . n M essageRejet e
TCxSer e
i Tem pPyr om et r e Dh_Depar t G oud : Dat e DhPause : Dat e
1 cod_pay : I nt eger AnalyseChar bon Nom : St r n
ig AnalyseCoke TCxList eSer e
i Tem pPyr om et r e Ret our EauCam o i n : Boolean Ext r act eur Nor d : Single
I d_M sg : I nt eger Dat eTr ait em ent M sg : Dat e
pay : St r n
ig Type : St r n ig Ext r act eur Sud : Single
Q uant ti e : Long Q uant ti e : Long M sgCom m unicat o
in Dat eTr ait em ent M sg : Dat e Em et t eur M sg : Dat e I d_Ser e
i : I nt eger Num C
Tem x at
per : ur
I nteeger
: I nt eger Fir m eEnt r eeFuel : St r n
ig Vit esseNor d : Single
0. . n Num er oEr r eur : I nt eger Num er oM sg : Dat e Ht eur Avant Ent r eeFuel : Single
TypeDeG az : St r n ig Vit esseSud : Sn i gle
Aut eur : St r n ig Descr p ito
i nEr r eur : St r n
ig Num er oSec : Dat e Ht eur Apr esEnt r eeFuel : Single
PCI : I nt eger Debit Nor d : Single
Dh_Debut Af f ci hage : Dat e Em et t eur M sg : St r nig Dh_Dat a : Dat e NoResEnt r eeFuel : Single
Lo
c alti e 0. . n G r anulom et r e
i Dh_FinAf f ci hage : Dat e Num er oM sg : I nt eger Ent et eM sg : St r nig Dh : Dat e 0. . * Place Lit r ageEnt r eeFuel : Single Debit Sud : Single
1 Pyr om et r eur : St r n
ig Tem per at ur eVolut eNor d : Single
Com m ent air e : St r n
ig 0. . 1 1 Libele
l M sg : St r nig 1 Dh_Pause : Dat e Regleur : St r n
ig Heur eEnt r ee : St r nig
AnalyseM elange I nt er val : St r n
ig 0. . * Nam e : St r n
ig Tem per at ur eVolut eSud : Single
cod_loc : St r n
ig Response : St r n ig Sour ceEr r eur : St r nig Dh_Jour : Dat e Com m ent air e : St r n
ig
1 Nom : St r n ig Am per ageNor d : Single
o
l c : St r n
ig O rg
i en Q uant ti e : Long Dh_M ois : Dat e Vald
i e : Boolean 1 1 Am per ageSud : Single
0. . n
0. . n Regulat o i nNor d : St r n ig
Regulat o i nSud : St r n ig
0. . *
0. . * TcxTypeDeM esur e VanneRappoldNor d : St r n ig
VanneRappoldSud : St r n ig
0. . n 0. . n 0. . * Pr essionHuie l Ent r eeNor d : Single
Com m ande Post
1 I d_TypeDeM esur e : I nt eger Pr essionHuie l Ent r eeSud : Sn i gle
0. . n G r anCoke Libele
l : St r n
ig
Ce
il nt 1 num _com : I nt eger pst _num : I nt eger Char bon 1 Pr essionHuie l Sor t e i Nor d : Sni gle
( f r om Concept ualM odelPck) 0. . * 1 1. . * M elange 0. . * Pr essionHuie l Sor t e i Sud : Single
0. . * ent _sr t : Boolean dat _pst : Dat e 0. . * Re
c apJo
u r CoPr odu
ti
Num ber : I nt eger Q uant ti e : I nt eger Vibr at oi nHor zi ont aleNor d : Single
Nom : St r n
ig Num er o : I nt eger Vibr at oi nHor zi ont aleSud : Sn i gle
e
ti r s Fam _ar t ci e
l Sweln
il gI ndCont M ax : Long DhJour : Dat e Vibr at oi nVer t ci aleNor d : Single
Volum eRes2G oudr on : I nt eger
Sweln
il gI ndDM
li ax : Long Vibr at oi nVer t ci aleSud : Single
f am _ar t : St r n
ig Volum eRes3G oudr on : I nt eger
cod_t ei : I nt eger Nom : St r n ig Tem per at ur eExt er e i ur eNor d : Single
nom _t ei : St r n
ig 0. . * b
il _f am : St r n
ig Volum eRes4G oudr on : I nt eger
adr _t e
i : St r n
ig Fou rnsi se u
r 0. . * or i : St r n
ig 1 1 Volum eRes5G oudr on : I nt eger Tem per at ur eExt er e i ur eSud : Single
1 1 1 Condensat o i nDebit : Single
or i : St r n
ig ( f r om Concept ualM odelPck) 0. . * G r anM elange Piedr oit Volum eRes6G oudr on : I nt eger
Sales Pdef DHPour Debug Condensat o i nAnalyse : Single
Volum eRes7G oudr on : I nt eger
LavageDebit : Single
M sgG r oupe I d_Pdt : I nt eger ConsigneTem psCuisson Volum eRes8G oudr on : I nt eger
concer ne Qu a
nt ti e : I ntege r Poids : Long 1 Libele
l : St r n
ig hM ain
D t e na
nt : Da t e Volum eRes9G oudr on : I nt eger Cam o
i nCoPr oduit LavageAnalyse : Single
0. . n CSFDebit : Single
0. . n Dat eTim e : Dat e I d_G r oupM sg : I nt eger DA van
h t : Da t e I d_Consigne : I nt eger Volum eRes10G oudr on : I nt eger 0. . * 0. . *
1 Cpt eur FuelVer sCent r alAvant : I nt eger NoPlaque : St r n
ig CSFAnalyse : Sn i gle
Test 2 : St r n
ig 0. . n Libele
l M sg : St r n
ig Four Dh_Debut Changem ent : Dat e
Bascule 0. . n 0. . n Cpt eur FuelVer sCent r alApr es : I nt eger Biool giqueDebit : Single
1 0. . n 0. . n M vt Coke TypeM sg : St r n ig 0. . * 1. . 2 ConsTpsCuis_Kopper sDd iei r : I nt eger Lit r ageFuelVer sCent r al : I nt eger Biool guiqueAnalyse : Single
Pesee I d_Four : I nt eger ConsTpsCuis_Coppee : I nt eger
bas_id : I nt eger M vt Char bon M vt M elange Vent ur D i ebit : Single
bas : St r n
ig Num er o : I nt eger Vent ur T i em per at ur e : Single
num : I nt eger 1 0. . *
Dat eTim e : Dat e 1 1 1. . * Num er o : I nt eger Num er o : I nt eger Poids : Long 0. . * Vent ur P i h : Single
0. . * Poids : Long Podis : Long Dat eTim e : Dat e 0. . n Br gi adier : St r n ig
pesee1 : I nt eger
Dat eTim e : Dat e Dat eTim e : Dat e Ret our n : Boolean O per at eur : St r n ig
pesee2 : I nt eger Ar t ci e
l
0. . n 1 1 1 1 O per at eur G azom et r e : St r n ig
pes_val : Boolean Livr aison 0. . n 1 0. . 1 1 0. . * Itn i er ant Copr oduit : St r n ig
Tr a nspor t e
ur pes_ann : Boolean 0. . * cod_ar t : I nt eger Bat t er e
i
Itn i er ant BioG azom et r e : St r n ig
r em : St r nig cod_lvi : I nt eger cod_env : St r n ig 0. . 1
Chaguer G our don : St r n ig
n
i t er dit : St r n
ig r em _sys : St r nig b
il _lvi : St r n
ig b
il _ar t : St r n
ig I d_Bat t er e
i : I nt eger 1
st at us : St r n
ig or i : St r n
ig b
il ele
l : St r n
ig 0. . n Libele
l : St r n
ig PdelLsi t eHeur ePour M odeleLight Hor sQ uot a : St r n ig
1 1 Tem pSor t e i CTH1 : Single
b
il _pr e : St r n
ig or i : St r n
ig Com poseM elange I d_Pdt Debut : I nt eger
1 1 Tem pSor t e i CTH2 : Single
cod_pr e : I nt eger 1 0. . * Nom : St r n ig I d_Pr ogr : I nt eger Tem pSor t e i CTH3 : Single
0. . 1 0. . *
Q uant ti e : I nt eger Num Four Deb : I nt eger 1 Heur eFour : Dat e Tem pSor t e i CTH4 : Single
Badge Nbr Four : I nt eger Tem pSor t e i EG R1 : Single
1. . * PDef Par am et r e
Liver e 1 Nbr Pdt : St r nig Tem pSor t e i EG R2 : Single
num _bad : I nt eger 0. . n 0.. * Tem pSor t e i EG R4 : Single
0. . * 0. . * dat _cr e : Dat e 0. . n 0. . n Coke 1 I d : I nt eger RecapPauseFour Tem pSor t e i EG R3 : Single
Test 2 : St r n
ig 0. . n Dat eDer nier eM odif : Dat e
dat _m od : Dat e 0. . n Tem pEnt r eeLaveur 5Nor d : Single
1 SubM vt Char bon Num er o : I nt eger Com m ent air e : St r n ig DhPause : Dat e
0. . * t yp_bad : St r n
ig SubM vt M elange ub M vtC oke
S 1 Tem pEnt r eeLaveur 5Sud : Single
I RSI D_I 10 : Long PlanningEnt r et e
in Dh_PauseEnCour s : Dat e Nom Ajust eur : St r n ig
num _pas : I nt eger Ent r epr si e Tem pEnt r eeLaveur 1Nor d : Single
Cam o
in pas_m ax : I nt eger 0. . 1 Num er o : I nt eger Num er o : I nt eger Num er o : I nt eger I RSI D_I 20 : Long TpsCuissonCoppee : I nt eger Com m ent air eAjust eur : St r n ig Tem pEnt r eeLaveur 1Sud : Single
Poids : Long I RSI D_I 40 : Long Dh_Debut : Dat e TpsCuissonKopper s : I nt eger Signat ur eAjust eur : St r n ig
cod_ina : Boolean Poids : Long Poids : Long Nom : St r n
ig 0. . * Pr essionEt Debit Vapeur : St r n ig
Dat eTim e : Dat e Nom : St r n ig Dur eeEnM n
i ut e : I nt eger DelaE
i nt r eDef our nEt Enf our n : I nt eger Nom Elect r ci ai n : St r n
ig
pla_cam : St r n ig 1 ver _com : St r nig Envoi Dat eTim e : Dat e Dat eTim e : Dat e Nvi eauRes500 : Single
1 Ecar t M axTpsCuissonCoppee : I nt eger Com m ent air eElect r ci ai n : St r n
ig
chg_m ax : I nt eger r ec_bad : St r n
ig 0. . 1 Ecar t M axTpsCuissonKopper s : I nt eger Signat ur eElect r ci a
i n : St r nig Nvi eauResB500 : Single
t ar e : I nt eger r em : St r nig Num er o : I nt eger Ecar t Sur Pr ogr Toler eCoppee : I nt eger Nvi eauRes1000 : Single
r em _com : St r nig Nom Cont r em ait r e : St r n ig
f r c_t ar : I nt eger Ecar t Sur Pr ogr Toler eKopper s : I nt eger Nvi eauRes800 : Single
vald
i e : Boolean 0. . 1 Assist ant Cont r em ait r e : St r n ig
dat _t ar : Dat e Def ault DelaEi nt r eDef Et Enf : I nt eger Nvi eauRes6514 : Single
der _t ar : Dat e der _pes : St r n
ig 0. . * M odif DhM achineAut or si ee : I nt eger Com m ent air eCont r em ait r e : St r n ig Post eEm et t eur : St r n ig
0. . 1 1 bad_act : Boolean 0. . n Signat ur eCont r em ait r e : St r n ig
DelaE
i nSecondeDuRef r eshAut oI nt er f ace : I nt eger Det ect eur CO : St r n ig
0. . 1 0. . n 0. . n Nbr eDef our nem ent Coppee : Single
Tim eO ut Execut eM odele : I nt eger Com m ent air e : St r n ig
0. . n Nbr eDef our nam ent Kopper s : Single
0. . * Pdef Result at Nbr Heur eAvant PauseCour ant eAVisualsi er : I nt eger Nbr eDef our nam ent Dd iei r : Single Signat ur eBr g i adier : St r n ig
Nbr Heur eApr esPauseCour ant eAVisualsi er : I nt eger Com m ent air eO per at eur : St r n ig
Et at CuissonCoppee : St r n ig
1 Enf our nem ent Dh_Def _Pr evue : Dat e Passwor dO pt o i n : St r n
ig Signat ur eO per at eur Technique* : St r n ig
1 Et at CuissonKopper s : St r n ig
Et at _Pr evu : I nt eger Anim at oi nVideo : I nt eger Volum eResFuel6509 : Single
PlaceO f Char bon PlaceO f M elange Dh_Enf : Dat e Et at _HS_Pr evu : I nt eger M _PV_Enabled : I nt eger Et at CuissonDd ie
i r : St r nig Haut eur ResFuel6509 : Single
0. . 1 Plat eauCoppeeNet t oyeCot eCoke : St r n ig
( f r om Concept ualM odelPck) Dh_Enf _Dvi er s : Dat e Dh_Def _Pr evueCor r g i ee : Dat e M _PV_kdpapHS : I nt eger Volum eResFuel6508 : Single
( f r om Concept ualM odelPck) Plat eauKopper sNet t oyeCot eCoke : St r n ig
Bassin Et at _Cor r gi e : I nt eger Ent r et e
i nHeur eM n i : I nt eger Haut eur ResFuel6508 : Single
Bat eaux Plat eauDd ie
i r Net t oyeCot eCoke : St r n ig
0. . 1 0. . n Et at _HS_Cor r g i e : I nt eger 0. . * Ent r et e
i nHeur eM ax : I nt eger Plat eauCoppeeNet t oyeCot eM achine : St r n ig Volum eResFuel6511A : Single
Bassin : Long Ent r et e
i n : St r nig Ent r et e
i nDur eeM n i : I nt eger Haut eur ResFuel6511A : Single
Nom : St r n
ig Plat eauKopper sNet t oyeCot eM achine : St r n ig
Libele
l : St r n
ig Com m ent air e : St r n ig Ent r et e
i nDur eeM ax : I nt eger Volum eResFuel6511B : Single
Plat eauDd ie
i r Net t oyeCot eM achine : St r n ig
Dh_Enf _Pr ec : Dat e Ent r et e
i nPasM n i : I nt eger Haut eur ResFuel6511B : Single
Dh_Def _M n imi ale : Dat e TpsExt n i ct o
i nEnSeconde : I nt eger Laveur 1Nor dDebit : Single
1 0. . * TpsEgout t ageEnSeconde : I nt eger Laveur 1Nor dPassage : Single
1 O per at o i n : St r n
ig
Pdef Et at TpsExpedit o i nCK16EnM n i ut e : I nt eger Laveur 1SudDebit : Single
Pom peEnSer vice : St r n ig Laveur 1SudPassage : Single
1 Cokecar EnSer vice : St r n ig Per t eFuel : Single
PlacePr oduct o
in 0. . * Et at : I nt eger
TypeM at e
i re a
l c eOf C oke
P Libele
l : St r n ig Haut eur SoudeAvant : Single
( f r om Concept ualM odelPck) Sgi nif ci at o
i n : St r n
ig Haut eur SoudeApr es : Single
Code : St r n
ig Pdef List eResult
0. . n TypeM at e
i r e : St r n
ig Consom m at o i nSoude : Single
M vt Det ail Libele
l : St r n
ig
I d_Result at : I nt eger 1
Sit e M at e
i re Couleur : St r n
ig 1
Dat eTim e : Dat e de t ype 1 Dh_I dResult at : Dat e
Posit o
i n : I nt eger Dh_Pause : Dat e
Sit e : Long Num LVoit : I nt eger M at ei r e : St r n
ig 0. . 1 TypeDeM odele : St r n ig 0. . *
Libele
l : St r n
ig Libele
l : St r nig 1
Ra
c cor d
e m ent PoidsNet : Long 0. . n Nom M achineCe il nt : St r n
ig
0. . n 0. . 1 0. . 1
PoidsBr ut : Long Nom User : St r n ig
Rac cSncb : S t r n
ig PoidsTheor qi ue : Long 1 0. . * St at usExecut o i nM odele : I nt eger
Lib
e e
l : S t rg
n
i Tar e : Long 0. . n Dh_FinExecut eM odele : Dat e
Rac cCklS
a m : Boo e
l an St at ut : St r nig Enf our nem ent _Dvi er s Libele
l St at us_FinExecut eM odele : St r n
ig
0. . n
Et at Wagon Com m ent air eResult at : St r n ig
1 1 0. . n Def our nem ent V001 : I nt eger 1 0. . * 1 Pdef Nom br eFour Pr oduit
Et at : St r nig V100 : I nt eger
Dh_Def : Dat e PlanningDef our nem ent
Libele
l : St r n
ig Dh_Pause : Dat e 1 Dh_Pause : Dat e
0. . n Dh_Def _Cot her m : Dat e
Wagon 1 Dh_Def _Puissance : Dat e Dh_Jour : Dat e 0. . * Nbr eFour CopM odelsi e : I nt eger
0. . n Def our neuse Dh_M ois : Dat e Dh_ Def _ Pal nif e
i e : D at e 0. . 1 Nbr eFour KDM odelsi e : I nt eger
Usine 1. . n Dh_Def _Pr of Cli oke : Dat e M esur eSynchr oneBat t er e
i Mn
i ut e
Num Wagon : Long Dh_ Def _ V ald
i ee : D a te Nbr eFour CopPr ogr am m e : I nt eger
Dh_Def PuissanceCale : Dat e
PoidsBr ut : Long de t ype 2 I_d Def ou r neuse : I nt eg er Dh_Def _Planif ee : Dat e Dh_ Enf _ V ald
i ee : D a te Nbr eFour KDPr ogr am m e : I nt eger
Usine : Long Tar e : Long Lib
D ef our neuse : St r n ig Dh_ Def _ M ach : a Dte Nbr eFour CopRealsi e : I nt eger Dh_M esur e : Dat e
0. . * Dh_ Enf _ M ach : a Dte V001 : I nt eger
1 PoidsNet : Long TypeWagon I_d Engin : I nt eger Nbr eFour KDRealsi e : I nt eger
Dh_ Enf _ P r ec : Dta e V077 : I nt eger
PoidsTheor q
i ue : Long 0. . n Pu
si sance M axim ale : I n t eger
Ve
io 0. . n 0. . * Eta t : I nt eger
1 Longueur : Long TypeWagon : St r n ig Pu
si sance CalculPad : I nte ger Eta t _Pre c : I nt g e er
Dat eTim eDebChom age : Dat e Libele
l : St r n
ig Pu
si sance CalculTG r : I n t eger 1
1 de t ype Eta t _HS : I nt ege r 1
Voie : St r n ig Num Chassis : I nt eger Couleur : St r nig Coe f Corr M ul : I nt eger
Coe f Corr Add : I nt eger Eta t _RP : I nt ege r
I ndexVoie : Long
1 0. . n 1 Nbr Seco n deEchant oli nnag
e : nI t ege
r Dh_ Def _ C or r gi ee : Dat e
Type : St r n ig Tps M axD ef our nam ent : I nte ger Dh_ Enf _ C or r gi ee : Dat e M esur eSynchr oneDvi er sPause M esur eSynchr oneDvi er sJour
0. . n Libele
l : St r n ig Ent et eM vt
O re i nt at o
i n : St r n
ig Sur f ace
R ef : I nt eger Jus t fi ci a
t fi : I nt g e er M esur eSynchr oneDvi er sM n
i ut e
SensPr vi : St r n ig Com mn e t air e : S t rn
ig Dh_M esur e : Dat e
Ser vice Num M vt : Long Dh_M esur e : Dat e
Et at : St r n ig TypeM vt : St r n ig Ent r et e n
i : St r n ig Par t ci p
i er Dh_M esur e : Dat e V001 : I nt eger V001 : I nt eger
Loungueur : Long 0. . n 1 Fla
g _Dh_ D ef _M ach _ M ajA
P RESC C or r e
c to
i n : I tn eger V001 : I nt eger V100 : I nt eger V065 : I nt eger
Ser vice : Long I nt er caler : St r n
ig
dans CulDeSac : Boolean Cat egChom age Fla
g _Dh_ E nf _M ach A PRESC or r e
c to
i n: I tn eger Test : St r n
ig V106 : I nt eger
Libele
l : St r n
ig I nver sion : St r n
ig
0. . 1
1 0. . n TypeM vt Sens : St r n ig Cat egChom age : St r n
ig
Dat eEnr eg : Dat e
Libele
l : St r n
ig
Dat eDebut : Dat e
Dat eFin : Dat e Def our nam ent _Puissance
VoieDespose : St r n ig Def our nem ent _Cot her m
SensDepose : St r n ig V001 : I nt eger
Per sonne
V001 : I nt eger V113 : I nt eger
G r oupLoco V177 : I nt eger 0. . * PlanningPost e I d_Per sonne : I nt eger
Pr enom : St r n
ig
Num er o : Long
I d_Cycle : I nt eger Nom : St r nig
0. . * Equipe : I nt eger Dat eNaissance : Dat e
0. . * 1
Def our nem ent _Pr of C
li oke
0.. 1
1
V001 : I nt eger
V088 : I nt eger
1. . n conduit accom pagne
0. . n
Locom ot vi e
Tender
Num Loco : Long
Tender : Long

Figure 19 : Diagramme de classe de l’itération 1.

18
Pays Element 0. .n
1 cod_pay : Integ... AnalyseCharbon Nom : String AnalyseCoke
0..n Quantite : Long MsgCommunication
pay : String Quantite : Long
Auteur : String
Localite 1 0..n Granulometrie Dh_DebutAffichage : Da... 0
cod_loc : Strin... 1 Origen AnalyseMelange Interval : String Dh_FinAffichage : Date
l oc : St ri ng 0..n Quantite : Long Nom : String Commentaire : String
Response : String
Commande 0. .n 0..n
1 Post 0..n
Client 1 num_com : I nteger Charbon GranCoke
0..* 0..* 1 1..* pst_num : Inte... Melange 0..* 0..*
(from ConceptualModelPck) ent_srt : Boolean Number : Integer Quantite : In. ..
tiers dat_pst : Dat e Num ero : Int eger
Fam_article Nom : String
cod_tie : Integer getCommande() Swel li ngIndContM ax : Long
fam_art : Strin...
nom_tie : String Fournisseur 0..* 0..* 1 Swel li ngIndDil Max : Long 1
1 lib_fam : Strin... 1
adr_tie : String (from ConceptualModelPck) 0..* Nom : St ri ng GranMelange Sales
ori : String MsgGroupe
ori : String concerne Quantite : In... 0..n Poids : Long
Pesee 0..n
0..n 1 0..n 0. .n 0..n 0..n I d_GroupMsg : I nteger
Bascule Test2 : Stri... 1 DateTim e : Date
getCod_tie() num : Integer M vtCoke Li bell eMsg : String
MvtCharbon MvtMelange
DateTime : Date bas_id : Integ... Numero : Integer TypeM sg : String
1 1 1..* Numero : Integer Numero : Integer
pesee1 : Integer bas : String 0..* Poids : Long 0..n
Article Poids : Long Podis : Long
Transporteur pesee2 : Integer 0..* 0..n 0..n 1 0..1 DateTime : Date
pes_val : Boolean Livraison cod_art : Integer DateTime : Date DateTim e : Date
interdit : String Retourn : Boolean
pes_ann : Boolean Badge cod_liv : Integ... cod_env : String 0..1
rem : String num_bad : Integer lib_liv : String lib_art : String 1 1 0..n
checkInterdictionTransporteur() 1 ori : String ComposeMelange 1
rem_sys : String 0..1 dat_cre : Date 0..* 0..* libelle : String
interdireTransporteur() Quantite : Integer
status : String dat_mod : Date ori : String 1
1..* Livere
0..* lib_pre : String typ_bad : String 0. .n 0..n 0..n Coke
1 0..n
0..* 0..n Test2 : String Numero : Integer
Camion 0..*cod_pre : Integer num_pas : Integer SubM vtCharbon SubMvtM elange SubMvtCoke
pas_max : Integer 0..1 IRSID_I10 : Long Entreprise
pla_cam : String Num ero : Int eg... Numero : Integer Numero : Integer
1 encoderPesee() 1 cod_ina : Boolean IRSID_I20 : Long Nom : String
chg_max : Integer Envoi Poi ds : Long Poids : Long Poids : Long
supprimerPesee() ver_com : String 0. .1 IRSID_I40 : Long
tare : Integer Dat eTim e : Date DateTime : Date DateTime : Date
rec_bad : String Numero : Int... Nom : String
frc_tar : Integer
dat_tar : Date 0..1 1 rem : String 0..1 0..n
0..*
rem_com : String 0..n 0..n Enfournement
der_tar : Date 0..n
valide : Boolean 1 Dh_Enf : Date
der_pes : String 1
assignerBadge() Pl aceOfMelange Dh_Enf_Divers : Date
bad_act : Boolean 0..1 Pl aceOfCharbon
(from ConceptualModelPck) ( from Conceptual ModelPc k)
Bassin Bateaux 0..1 0. .n enfournementE3()
Bassin : Long expireBadge() Nom : String enfournementE1()
Libelle : String getBadgeDisponible()
txUtilisationE3()
libererBadge() 1
getValiditeBadge() 1 0..*
1 MvtDetail
TypeMatiere PlaceProduct ion PlaceOfCoke
0..n Dat eTim e : Date Code : String (from Conceptual ModelPck)
TypeMatiere : Strin...
Posit ion : Int eger
Site Matiere de type 1 Libelle : String
Num LVoit : I nteger 0. .1
Site : Long Poi dsNet : Long 0..n M ati ere : String 1 Couleur : String
Raccordement Li bell e : St ri ng 0..n 0..* 0..1
Libelle : String Poi dsB rut : Long
RaccSncb : String 1 0. .n
Libelle : String Poi dsT heori que : Long 0..n Enfournement_Divers
0..n Tare : Long EtatWagon Defournement
1 RaccCklSam : Boolea... 1 Wagon
St atut : St ri ng0..n Dh_Def : Date V001 : Int eger
Etat : String
0..n NumWagon : Long Dh_Def_Cotherm : Date V100 : Int eger
1 Libelle : String
Usine 1..n 0..n PoidsBrut : Long Defourneuse Dh_Def_Puissance : Date Dh_Pause : Date
creerConvoi() de type 2
Usine : Long di ssoudreConvoi () Tare : Long I d_Defourneuse : Int eger Dh_Def_ProfilCoke : Date Dh_Jour : Dat e
1 PoidsNet : Long 0..n TypeWagon Li bDefourneuse : St ri ng 0..* Dh_M ois : Date
get Posi ti on() 1 Dh_DefPuissanceCale : Date
Voie setPosi ti on() PoidsTheorique : Long TypeWagon : Strin... I d_Engin : Int eger Dh_Def_Planifee : Date
1 de type 1 0..*
Voie : String Longueur : Long Libelle : String Pui ssanceMaxi mal e : I nteger
EnteteMvt DateTimeDebChomage : Date 0..n 1 Pui ssanceCal cul Pad : Int eger
0..n IndexVoie : Long Couleur : String
NumChassis : Integer Pui ssanceCal cul TGr : I nteger Def ournem ent_Cotherm Defournament_Puissance
Type : String NumMvt : Long
Service Coef CorrMul : I nteger V001 : Integer
Libelle : String TypeMvt : S tring V001 : Int eger 1
Service : Long dans setDebutChomage() 0..n CategChomage Coef CorrAdd : Int eger V113 : Integer
Orientation : String Intercal er : String 0..1 V177 : Int eger
Libelle : String 1 0..n setFinChomage() CategChomage : String NbrSecondeEchanti ll onnage : I nteg...
SensPriv : String Inversion : String
Etat : String TypeMvt Sens 1: St ri ng calculerTempsChomage() Libelle : String TpsMaxDef ournam ent : Int eger enregistrement TemperatureCot herm () enregistrementPuissance()
Loungueur : Long DateEnreg : Date SurfaceRef : I nteger cart eCot herm Batt eri e() cartePuissanceBatterie()
CulDeSac : Boolea... DateDebut : Date tempsChomageMax() cart eCot herm Four() cartePuissanceFour()
GroupLoco evolution3DPic()
DateFin : Date m oyenneT empCot herm ()
VoieDespose : String Numero : Long ecart TypeTem pCotherm() evolution3DPAD()
Def ournement_ProfilCok e
evolution3DID()
SensDepose : St ri ng courbesTem perat ureSaum on()
1 0..1
on() evolutionPuissanceMoyenneBatterie()
V001 : Integer
hi st ori queCourbesTem perat ureSaum
inverserConvoi() 1..nconduit accompagne checkCarneaux() V088 : Integer picMoyDerniersDefournements()
effectuerMvt() 0..n nbrFoursCaleMoisPuissanceMois()
Locomotive Tender enregistrementProfilCoke()
NumLoco : Long Tender : Long encoderCahierElectronique()

Figure 20 : Diagramme de classe de l’itération 2 – première partie. 19


MessageTraceChronologiqu TCxListeSerieTempPyrometr TCxSerieTempPyrometre Deplacer RecapPauseCoProduit
MessageRejete eData e NumCx : Integer Dh_DepartGoud : Date DhPause : Date
I d_Msg : I nteger DateTraitementMsg : Date Id_Serie : Integer Temperature : Integer RetourEauCamion : Boolean Ext racteurNord : Single
Dat eTraitementMsg : Da... EmetteurMsg : Date TypeDeGaz : String Type : String Ext racteurSud : Single
Num eroErreur : Integer NumeroMsg : Date PCI : Integer enregistrerTempCx() Place FirmeEntreeFuel : String VitesseNord : Single
0..1 1 Descri pti onErreur : St ri ng 1 0..* NumeroSec : Date Dh : Date 0..* getTempSerie() HteurAvantEntreeFuel : Sing... VitesseSud : Single
Name : St ri. ..
Em ett eurM sg : St ri ng Pyrometreur : String DebitNord : S ingl e
Dh_Data : Date 1 0. .n HteurApresEntreeFuel : Single
Num eroM sg : Integer EnteteMsg : String Regleur : String NoResEntreeFuel : Single DebitSud : Si ngle
1
Li bell eMsg : String 0. .* Dh_Pause : Date Commentaire : String TcxTypeDeMesure LitrageEntreeFuel : Single TemperatureVoluteNord : Single
0..* TemperatureVoluteS ud : Single
SourceErreur : String Dh_Jour : Date 0..* Valide : Boolean Id_TypeDeMesure : Integ... HeureEntree : String
1 Libelle : String RecapJourCoProduit AmperageNord : S ingl e
Dh_Mois : Date
encoderSerieTempCx() DhJour : Dat e AmperageSud : Si ngle
validerSerie() Vol umeRes2Goudron : I nteger RegulationNord : St ri ng
encoderCommentaire() Vol umeRes3Goudron : I nteger RegulationSud : S tring
Pi edroi t 1 historiqueTCx5-22() Vol umeRes4Goudron : I nteger VanneRappoldNord : String
PdefDHPourDebug Vol umeRes5Goudron : I nteger VanneRappoldSud : String
Id_Pdt : Integ. .. ConsigneTempsCuisson
1 DhMaintenant : D... Vol umeRes6Goudron : I nteger CamionCoProduit Pressi onHuileEntreeNord : Single
Libelle : String Id_Consigne : Integer 0..* 0..*
Four 0..* 1..2 DhAvant : Date Vol umeRes7Goudron : I nteger NoPlaque : String Pressi onHuileEntreeSud : Single
Dh_DebutChangement : Date
I d_Four : Int e... Vol umeRes8Goudron : I nteger Pressi onHuileSortieNord : Single
1 ConsTpsCuis_KoppersDidier : Integer
0..* 0..* Vol umeRes9Goudron : I nteger Pressi onHuileSortieS ud : Single
ConsTpsCuis_Coppee : Integer
Vol umeRes10Goudron : I nteger VibrationHorizontaleNord : Single
1 1 1 1 1
Cpt eurFuel VersCent ral Avant : Int eger VibrationHorizontaleSud : Single
Bat terie 0..* Cpt eurFuel VersCent ral Apres : Integer VibrationVerticaleNord : Single
Id_Batterie : Integer 1 PdelListeHeurePourM VibrationVerticaleSud : Single
LitrageFuelVersCentral : Integer
1 Libelle : String odeleLight TemperatureExterieureNord : Single
PDefParametre
Id_PdtDebut : Integer 1 Id_Progr : Integer RecapPauseFour TemperatureExterieureSud : Single
Id : Integer
Nom : String 0..* HeureFour : Date CondensationDebi t : Single
1 DateDerniereModif : Date DhPause : Date
NumFourDeb : Integer Commentaire : String CondensationAnal yse : Single
NomAjusteur : String
NbrFour : Integer 1 PlanningEntretien Dh_PauseEnCours : Date LavageDebi t : Single
CommentaireAjusteur : String
NbrPdt : String 0..* Dh_Debut : Date TpsCuissonCoppee : Integer SignatureAjusteur : String LavageAnal yse : Single
DureeEnMi nute : Integer TpsCuissonKoppers : Integer NomElectrician : String CSFDebit : Single
0..*
DelaiEntreDefournEtEnfourn : Integer CSFA nalyse : Single
0. .1 CommentaireElectrician : String
PdefResultat EcartMaxTpsCuissonCoppee : Integer BiologiqueDebit : S ingle
SignatureElectrician : String
EcartMaxTpsCuissonKoppers : Integer NomContremaitre : String BiologuiqueAnalyse : Single
Dh_Def_Prevue : Date
EcartSurProgrTolereCoppee : Integer AssistantContremaitre : String VenturiDebit : S ingl e
Etat_Prevu : Integer
EcartSurProgrTolereKoppers : Integer VenturiTemperature : Single
Etat_HS_Prevu : Integer CommentaireContremaitre : String
DefaultDelaiEntreDefEtEnf : Integer SignatureContremaitre : String VenturiPh : S ingl e
Dh_Def_PrevueCorrigee : Date
ModifDhMachineAutorisee : Integer NbreDefournementCoppee : Single Brigadier : String
Etat_Corrige : Integer 0..*
DelaiEnSecondeDuRefreshAutoInterface : Integer Operateur : S tring
Etat_HS_Corrige : Integer NbreDefournamentKoppers : Single
TimeOutExecuteModele : Integer NbreDefournamentDidier : Single OperateurGazom etre : String
Entretien : String
NbrHeureAvantPauseCouranteAVisualiser : Integer EtatCuissonCoppee : String I ti nerant Coproduit : String
Commentaire : String
0..1 PdefEtat NbrHeureApresPauseCouranteAVisualiser : Integer EtatCuissonKoppers : String I ti nerant BioG azometre : String
.* Dh_Enf_Prec : Date PdefListeResult
Etat : Integer PasswordOption : String EtatCuissonDidier : String ChaguerGourdon : String
Dh_Def_Minimale : Date 0..* Id_Resul tat : I nteger
Libelle : String AnimationVideo : Integer PlateauCoppeeNettoyeCoteCoke : String HorsQuota : String
Operation : String 1 Dh_IdResultat : Date 1 Signification : Strin... M_PV_Enabled : Integer PlateauKoppersNettoyeCoteCoke : String TempSortieCTH1 : S ingle
Dh_Pause : Date 0..* TempSortieCTH2 : S ingle
enregistrePlanningPropose() M_PV_kdpapHS : Integer PlateauDidierNettoyeCoteCoke : String
TypeDeModele : String TempSortieCTH3 : S ingle
enregistrePlaningValide() EntretienHeureMin : Integer PlateauCoppeeNettoyeCoteMachine : String
NomMachineCli ent : String TempSortieCTH4 : S ingle
EntretienHeureMax : Integer PlateauKoppersNettoyeCoteMachine : String
1 0..* NomUser : String TempSortieE GR1 : Single
EntretienDureeMin : Integer PlateauDidierNettoyeCoteMachine : String
PlanningDefournement StatusExecuti onModel e : I nteger TempSortieE GR2 : Single
PdefNombreFourProduit EntretienDureeMax : Integer TpsExtinctionEnSeconde : Integer
Dh_Def_Planifiee : Date Dh_FinExecuteModele : Date TempSortieE GR4 : Single
EntretienPasMin : Integer TpsEgouttageEnSeconde : Integer
Dh_Def_Validee : Date LibelleStatus_Fi nExecuteM odele : String 1 Dh_Pause : Date TempSortieE GR3 : Single
0..* MesureSynchroneBat terieM inut e TpsExpeditionCK16EnMinute : Integer
Dh_Enf_Validee : Date 0..1 CommentaireResultat : String NbreFourCopModelise : Integer
PompeEnService : String
TempEntreeLaveur5Nord : Single
Dh_Def_Mach : Date NbreFourKDModelise : Integer Dh_Mesure : Date TempEntreeLaveur5Sud : Single
V001 : Integer CokecarEnService : String
Dh_Enf_Mach : Date startModelePV () NbreFourCopProgramme : Integer TempEntreeLaveur1Nord : Single
Dh_Enf_Prec : Date 1 1 startModeleLi ght() NbreFourKDProgramme : Integer V077 : Integer TempEntreeLaveur1Sud : Single
Etat : Integer setResultat() NbreFourCopRealise : Integer Pressi onEtDebitV apeur : String
imprimePlanni ng() NbreFourKDRealise : Integer MesureSynchroneDiver MesureSynchroneDi ver
Etat_Prec : Integer MesureSynchroneDiver NiveauRes500 : Si ngle
sPause sJour
Etat_HS : Integer sMinute NiveauResB 500 : Single
Participer Dh_Mesure : Date Dh_Mesure : Date NiveauRes1000 : Si ngle
1 Etat_RP : Integer Dh_Mesure : Date V001 : Integer
Dh_Def_Corrigee : Date Test : Stri. .. V001 : Integer V001 : Integer NiveauRes800 : Si ngle
V100 : Integer V065 : Integer NiveauRes6514 : Si ngle
Dh_Enf_Corrigee : Date V106 : Integer
Justificatif : Integer PosteE met teur : String
Commentaire : String DetecteurCO : String
Personne Commentaire : String
Entretien : String
0..* PlanningPoste I d_Personne : Integer SignatureBrigadier : S tring
Flag_Dh_Def_Mach_MajAPRESCCorrection : Integer
Flag_Dh_Enf_MachAPRESCorrection : Integer 0..* Id_Cycle : Integ. .. Prenom : String CommentaireOperateur : String
Equipe : Integer 0..* 1 Nom : String SignatureOperateurTechnique* : String
validationEnfournement() Dat eNaissance : Dat e VolumeResFuel 6509 : Single
validationDefournement() HauteurResFuel 6509 : Single
setPlanning() VolumeResFuel 6508 : Single
HauteurResFuel 6508 : Single
VolumeResFuel 6511A : Single
HauteurResFuel 6511A : Single
VolumeResFuel 6511B : Single
HauteurResFuel 6511B : Single
Laveur1NordDebit : Single
Laveur1NordPassage : Single
Laveur1S udDebit : Single
Laveur1S udPassage : Single
PerteFuel : Single
HauteurSoudeA vant : Single
HauteurSoudeA pres : Single

Figure 21 : Diagramme de classe de l’itération 2 – deuxième partie.


ConsommationSoude : Single 20
encoderCahierElect ronique()
REFERENCES
6 CONCLUSION
Anonyme, Synthèse des applications informatiques à la
Les trois premières phases du projet de cokerie de Charleroi (document interne), CARSID,
modernisation des systèmes informatiques de Carsid Marchienne-au-Pont, 2002.
sont maintenant terminées. Chacune s’est déroulée
dans un contexte différent mais elles font toutes Anonyme, La cokerie de Marchienne (document interne),
parties d’un processus global et ont donc une groupe Cockerill Sambre, Marchienne-au-Pont.
cohérence propre.
G.Booch, I.Jacobson, James Rumbaugh, The unified
Après avoir définit les concepts théoriques relatifs à modelling language user guide, Addison Wesley Pub Co,
1998.
la gestion de projet en général et au UP en
particulier, cette méthodologie a été appliquée au
J. Caelen, Rationaliser la conception participative,
projet de modernisation de la cokerie de l’entreprise www-geod.imag.fr/jcaelen/ transparents_fichiers%5CRUP-fr.ppt.
Carsid. Les différentes activités et itérations menées
dans ce cadre ont été exposées, ce qui a permis de A. Donnay, M. Kolp, D. Massart, T. T. Do, S. Faulkner,
mettre en lumière l’architecture bidimensionnelle du and A. Pirotte. Modélisation orientée objet de la cokerie
UP. de CARSID. Rapport final Carsid, Août 2002.

Les travaux de modernisation du système A. Donnay, F. Fouss, M. Kolp, D. Massart, A. Pirotte,


informatique sont toutefois loin d’être terminés. En Analyse orienté objet de processus sidérurgiques de type
effet, seules les activités de modélisation métier, de cokier, Working Paper IAG 86/03, Université Catholique
gestion des exigences, d’analyse et de conception de Louvain, Mars 2003.
ont été réalisées et il est maintenant raisonnable de
penser à la phase d’implémentation. Aussi, le F. Fouss, M. Ibarz, M. Kolp, Object-oriented
modèle est perfectible. Il est en effet possible reengineering of the steel production databases at Carsid,
d’approfondir les activités de modélisation Working Paper IAG 85/03, Université Catholique de
notamment en travaillant plus amplement avec Louvain, Mars 2003.
l’équipe informatique de Carsid pour obtenir une
P. Kruchten, The Rational Unified Process An
validation des modèles et de nouveaux détails a
Introduction. Second Edition, Addison-Wesley, Upper
englober dans ceux-ci. Les travaux actuels n’ont Saddle River, NJ, Juin 2001.
également que peu abordé certains aspects tels que
les co-produits et l’entretien où des travaux de L. Louvigny, Modélisation orienté-objet d’aspects
modélisation pourraient être réalisés. comportementaux de base de données. Application à la
cokerie de Carsid, Mémoire-projet IAG-UCL, Louvain-la-
Neuve, 2003.

J. Rumbaugh, G. Booch, I. Jacobson, The unified


modelling language reference manual (Addison-Wesley
object technology series), Addison Wesley Pub Co, 1998.

Y. Wautelet, Application de la méthodologie RUP/UML à


l’entreprise sidérurgique Carsid, Mémoire-projet IAG-
UCL, Louvain-la-Neuve, 2003.

21

Vous aimerez peut-être aussi