cours0708/G5a/Exercices/3.1-emp1.html

214 lines
12 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
<TITLE>Feuille d&rsquo;exercice N&deg; 1 </TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 2.2 (Win32)">
<META NAME="AUTHOR" CONTENT="Divoux P">
<META NAME="CREATED" CONTENT="20050920;18230000">
<META NAME="CHANGEDBY" CONTENT="pascal">
<META NAME="CHANGED" CONTENT="20070913;12050000">
<META NAME="CLASSIFICATION" CONTENT="mod&eacute;lisation objet">
<META NAME="DESCRIPTION" CONTENT="Exercices sur le DCA avec h&eacute;ritage et sans relations">
<STYLE TYPE="text/css">
<!--
@page { size: 21cm 29.7cm; margin-right: 1.75cm; margin-top: 0.75cm; margin-bottom: 1.04cm }
P { margin-right: -0cm; margin-bottom: 0cm; border-top: 1px solid #000000; border-bottom: none; border-left: none; border-right: none; padding-top: 0.04cm; padding-bottom: 0cm; padding-left: 0cm; padding-right: 0cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
P.western { font-family: "Times New Roman", serif; font-size: 10pt; so-language: fr-FR }
P.cjk { font-family: "Times New Roman", serif; font-size: 10pt }
P.ctl { font-family: "Times New Roman", serif; font-size: 10pt }
H1 { margin-top: 0cm; margin-bottom: 0cm; direction: ltr; color: #000000; text-align: justify; widows: 2; orphans: 2 }
H1.western { font-family: "Times New Roman", serif; font-size: 14pt; so-language: fr-FR }
H1.cjk { font-family: "Times New Roman", serif; font-size: 14pt }
H1.ctl { font-family: "Times New Roman", serif; font-size: 10pt; font-weight: medium }
-->
</STYLE>
</HEAD>
<BODY LANG="fr-FR" TEXT="#000000" DIR="LTR">
<DIV TYPE=HEADER>
<P ALIGN=LEFT STYLE="margin-left: -0.5cm; margin-right: 0cm; margin-bottom: 0.9cm; border: none; padding: 0cm">
<FONT FACE="Helv, Arial, sans-serif"><FONT SIZE=2 STYLE="font-size: 9pt"><B>Formation
UML P. Divoux</B></FONT></FONT></P>
</DIV>
<H1 CLASS="western" ALIGN=CENTER STYLE="background: #b2b2b2; border: 1px solid #000000; padding: 0.04cm">
<FONT FACE="Comic Sans MS, cursive">Employ&eacute; -Service</FONT></H1>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<H1 CLASS="western" STYLE="border-top: 1px solid #000000; border-bottom: none; border-left: none; border-right: none; padding-top: 0.04cm; padding-bottom: 0cm; padding-left: 0cm; padding-right: 0cm">
<FONT FACE="Comic Sans MS, cursive">Employ&eacute; Version 1</FONT></H1>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<P CLASS="western" ALIGN=JUSTIFY STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Dans une entreprise, un employ&eacute;
est identifi&eacute; par son matricule (un nombre), on veut pouvoir
afficher son nom, son adresse, son anciennet&eacute;, son service
d&rsquo;affectation (ex : &quot;Comptabilit&eacute;&quot;) et le
montant de sa prime ; La prime d&rsquo;un employ&eacute; est calcul&eacute;e
en multipliant le nombre d&rsquo;ann&eacute;es d&rsquo;anciennet&eacute;
par un coefficient identique pour tous les employ&eacute;s :
&quot;coeffPrime&quot; (qui vaut actuellement 120) ; pour les
commerciaux, cette prime est augment&eacute;e d'un int&eacute;ressement
proportionnel au chiffre d&rsquo;affaire qu&rsquo;ils ont r&eacute;alis&eacute;
(la valeur de &quot;pourcentInteressement&quot; est actuellement de
15%).</FONT></P>
<P STYLE="margin-right: 0cm; border: none; padding: 0cm"><FONT FACE="Arial, sans-serif">Repr&eacute;sentez
la structure de classes (DCA) et placez les attributs et les
accesseurs n&eacute;cessaires ainsi que les m&eacute;thodes suivantes
:</FONT></P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<UL>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">getAdresse() ; retourne l'adresse de
l'employ&eacute; concern&eacute;</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">getEmp(matricule) ; retourne
l'employ&eacute; dont le matricule est pass&eacute; en param&egrave;tre</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">anciennete() ; retourne l'anciennet&eacute;
de l'employ&eacute;</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">getService() ; retourne le libell&eacute;
du service de l'employ&eacute; courant</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">changerService(nouveauService:String)
; change le service de l'employ&eacute; avec celui pass&eacute; en
param&egrave;tre </FONT>
</P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">getPrimes(); calcule le montant de la
prime (int&eacute;ressement compris dans le cas des commerciaux)</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">getPlusAncien(); retourne l'employ&eacute;
qui a la plus grande anciennet&eacute; </FONT>
</P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">getType()&nbsp;; retourne le type
d&rsquo;employ&eacute;&nbsp;: &laquo;&nbsp;simple employ&eacute;&nbsp;&raquo;
ou &laquo;&nbsp;commercial&nbsp;&raquo;</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">NouvelEmploye
(nom,adresse,anneeEmbauche,service)</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">NouveauCommercial(nom,adresse,
anneeEmbauche,service)</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Modifier le CA d&rsquo;un commercial
(nouvelle_valeur)</FONT></P>
</UL>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">RQ&nbsp;: Le matricule est
auto-incr&eacute;ment&eacute; &agrave; chaque nouvel employ&eacute;
(il ne figure pas comme param&egrave;tre de
&laquo;&nbsp;NouvelEmploye(n,a,ae,s)&nbsp;&raquo; il faut en tenir
compte dans le mod&egrave;le</FONT></P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Pensez aux pr&eacute;cisions suivantes
: </FONT>
</P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<UL>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Typez les attributs, les param&egrave;tres,
les valeurs de retour des op&eacute;rations </FONT>
</P>
</UL>
<UL>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Pr&eacute;fixez correctement les
attributs et m&eacute;thodes selon leur nature : individuel,
collectif ou commun </FONT>
</P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Pensez aussi aux &eacute;l&eacute;ments
abstraits (classes et m&eacute;thodes)</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Documentez en quelques mots les
classes, attributs et op&eacute;rations dans l'onglet
&quot;Documentation&quot; (voir l'exemple des m&eacute;thodes
ci-dessus)</FONT></P>
</UL>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">V&eacute;rifiez que les op&eacute;rations
suivantes sont r&eacute;alisables : </FONT>
</P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<UL>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Obtenir les caract&eacute;ristiques
(nom, adresse, service, anciennet&eacute; et, &eacute;ventuellement,
chiffre d&rsquo;affaire) de l&rsquo;employ&eacute; de matricule X</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Obtenir le nom et la prime de
l&rsquo;employ&eacute; le plus ancien</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Afficher la liste de tous les
employ&eacute;s avec nom et service</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Lister les employ&eacute;s du service
&laquo; Comptabilit&eacute; &raquo; </FONT>
</P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Lister tous les services avec leur
nom et leur nombre d'employ&eacute;s</FONT></P>
</UL>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Code Java </FONT>
</P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<BR>
</P>
<UL>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Saisissez le mod&egrave;le avec un
AGL</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Codez le corps des m&eacute;thodes
dans l&rsquo;onglet appropri&eacute; </FONT>
</P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Ajoutez les constructeurs et une
methode </FONT><FONT FACE="Courier New, monospace">toString() </FONT><FONT FACE="Arial, sans-serif">dans
chaque classe qui affiche les informations essentielles&nbsp;: nom,
anciennet&eacute;, prime &hellip;</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Param&eacute;trez correctement les
options de g&eacute;n&eacute;ration et de compilation</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">G&eacute;n&eacute;rez, compl&eacute;tez
et compilez le code java </FONT>
</P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">G&eacute;n&eacute;rez la javadoc</FONT></P>
<LI><P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif">Testez en ajoutant une classe
&laquo;&nbsp;Main&nbsp;&raquo; qui cr&eacute;e un petit jeu d&rsquo;essai
de 5 employ&eacute;s dont 2 commerciaux&nbsp;et qui liste les
caract&eacute;ristiques des 5 employ&eacute;s</FONT></P>
</UL>
<P ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm"><BR>
</P>
<P CLASS="western" ALIGN=LEFT STYLE="margin-right: 0cm; border: none; padding: 0cm">
<FONT FACE="Arial, sans-serif"> </FONT></P>
<DIV TYPE=FOOTER>
<P ALIGN=LEFT STYLE="margin-right: 0cm; margin-top: 0.61cm; border: none; padding: 0cm">
<SDFIELD TYPE=DOCINFO SUBTYPE=CHANGE FORMAT=DATE SDNUM="1036;1036;JJ/MM/AAAAAA HH:MM:SS AM/PM">13/09/200707 12:05:00 PM</SDFIELD> <SDFIELD TYPE=PAGE SUBTYPE=RANDOM FORMAT=PAGE>1</SDFIELD> emp1</P>
</DIV>
</BODY>
</HTML>