Page MenuHomec4science

diagClass1.tex
No OneTemporary

File Metadata

Created
Fri, Apr 25, 07:31

diagClass1.tex

This document is not UTF8. It was detected as ISO-8859-1 (Latin 1) and converted to UTF8 for display.
% \documentclass[11pt,a4paper,twoside]{article}
% \usepackage[T1]{fontenc}
% \usepackage[applemac]{inputenc}
% % \usepackage[latin1]{inputenc}
% \usepackage{pst-uml}
% \begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Placement des objets}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\drawCommand}{%
\umlClass{Command}{%
-dateReceived \\
-isPrepaid \\
-number : String \\
-price : Money \\
\hline
+dispatch() \\%
+close()%
}
}
\newcommand{\drawCustomer}{%
\umlClass[{Customer}{%
name\\
address\\
\hline
creditRating() : String
}
}
\newcommand{\drawCorpCust}{%
\umlClass{Corporate \\ Customer}{%
contactName\\
creditRating\\
creditLimit\\
\hline
+remind() \\
billForMonth(Integer)
}
}
\newcommand{\drawPersCust}{%
\umlClass{Personal \\ Customer}{%
creditCard#\\
\hline
}
}
\newcommand{\drawOrderLine}{%
\umlClass{Order Line}{%
quantuty : Integer \\
price : Money \\
isSatisfied : Boolean \\
\hline
}}
% les deux clases "Employee" et "Product" étant simple : elle sera
% définies à l'utilisation.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Placement des objets
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{pspicture}(0,0)(18,15)\psgrid
\rput(3,13){\rnode{Class1}{\drawClassi}}
\pnode(17.5,13){pnode1}
\rput(9,10){\rnode{Class2}{\drawClassii}}
\rput(2,5){\rnode{Class3}{\drawClassiii}}
\rput(12,5){\rnode{Class4}{\drawClassiv}}
\rput(5.5,5.5){\rnode{Class5}{\drawClassv}}
%
\rput(16,11){\rnode{Actor1}{\umlActor{Acteur(é) 1}}}
\end{pspicture}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Dessin des liens et labels
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% La grande boucle en deux étapes :
\ncline{Class1}{pnode1}
\ncputicon[npos=0.7,nrot=:U]{umlV}
\naput{ncline}\naput[npos=1,ref=r]{Node "P1"}
\ncSXE[armA=11.5]{pnode1}{Class3}
\nbput{SXE (armA=11.5)}
\ncputicon{umlV}% debut
\ncputicon[npos=1.9999,nrot=:U]{umlV}
\ncputicon[npos=2,nrot=:U]{umlV}
\ncputicon[npos=5,nrot=:U]{umlV}% fin ERREUR si nrot=4 ok pour 5!!!!
%
\ncSE{Class1}{Class2}
\naput[npos=1.5]{\{ncSE npos=1.5\}}
\ncSE[offset=-1]{Class1}{Class2}
\ncputicon{umlAgreg} % debut
\ncputicon[npos=2,nrot=:U]{umlCompos}% fin
\nbput[npos=0.3]{0..*}
\naput[npos=1.8]{0..2}
\naput[npos=1.4]{ncSE,offset=-1}
%
\ncSHS[armA=1.5]{Class2}{Class4}\naput{ncSHS}
\ncSHS[armA=1.5]{Class2}{Class3}\nbput{ncSHS}
\ncputicon{umlHerit}% héritage au debut
\ncputicon[npos=3,nrot=:U]{umlV}% V en fin
%
\ncSHN[arm=.7]{Class3}{Class4}
\naput{ncSHN (3 vers 4)}
\ncputicon[npos=1.8,nrot=:U]{umlV}% fleche au milieu vers destination !
%
% \ncE[npos=0.4]{Class5}{Class4}\naput{ncE,npos=0.4}
\ncE{Class5}{Class4}\naput[npos=0.4]{ncE,npos=0.4}
\ncputicon{umlCompos}
%
% Essai de définition d'un style personnalisé
\newpsstyle{umlDependance}{%
linestyle=dashed,
arrows=->,
arrowscale=3,
arrowinset=0.6
}
\ncline[style=umlDependance,offset=-0.5]{Class3}{Class4}
\naput{ncline}
\ncputicon{umlV}% fleche au debut
\nbput[npos=0.15]{1..*}
%
% % % On peut coller n'importe quoi par rapport à un node :
% % % Essai pour mettre un template sur une classe : prévoir
% % % une option du style [umlTemplate=myString]
% % \nput*[labelsep=-0.8,offset=1.4]%
% % {0}{Class2}{\psframebox%
% % [fillstyle=solid,fillcolor=white,linestyle=dashed]%
% % {\LARGE\textbf{\ T\ }}}
% % %
% Lien de Class2 et Class4 vers l'acteur :
\ncline[linestyle=dashed]{Class2}{Actor1}
\naput{ncline}
\ncputicon{umlAgreg}
\ncputicon[npos=0.7,nrot=:U]{umlAgreg}
\ncputicon[npos=1,nrot=:U]{umlCompos} % en fin
%
\nccurve[linestyle=dashed, angleA=75,offsetA=-1,angleB=-45]{Class4}{Actor1}
\ncputicon{umlHerit} % debut
\ncputicon[npos=0.7,nrot=:U]{umlHerit}
\ncputicon[npos=1,nrot=:U]{umlHerit}% en fin
% \end{document}

Event Timeline