
634.1/PROGRAMMATION
TravauxpratiquesSérieP03
P.Daehne,J.Sievering1/3Version3.009.03.2015
Objectifs
CompléteruneapplicationinteractiveaccédantàunebasededonnéesMySQLpartiellementréaliséeen
respectantunensembledespécifications.
Mettreenœuvreladécompositionencouches.
Sefamiliariseraveclescontraintesetl’environnementd’uncontrôlecontinu(ceténoncéestunancienCC).
EmployerladocumentationonlinedeJavapourytrouverdenouvellesinformations.
Problème
Unmagasind’articlesdiversveutgérersesventesmaisnedisposepasd’unebasededonnéesd’articles.Lesclients
sontcependantdéjàconnusetrépertoriésdansunetable.Onsouhaiteconserverunetracedesfacturesfaitesàces
clients,enindiquantsimplementunedescriptiondel’articleetsonprixdevente.Chaquefacturedésignetoujoursun
seularticleetconcernetoujoursunclient.
Leprogrammequevousêteschargésderéaliserpermettradeconsulterinteractivementlesfacturesd’unclientainsi
qued’ajouterunefactureàunclient.
Modèlephysiquedesdonnées
Note:LacléprimaireNoFacturedanslatableFactureestautomatiquementincrémentéeparleSGBDlorsde
l’insertiond’unenouvelleligne.VoirlescriptdecréationdelabaseCreateFactureCC.sql.
Basesdedonnées
LescriptCreateBaseFactureCC.sqlpermetdecréerlabasededonnéesMySQLFactureCC.Ellecontientles
informationsd’unedizainedeclientsainsiqueleursfacturesexistantes.
Lesprimitivesdeconnexionàlabasevuesencourssontfournies.
Maquettedelafenêtredel’application(presentation.FrmMain)
Aulancementdel’application

P.Daehne,J.Sievering2/3Version3.009.03.2015
Avantl’ajoutd’unefacture
Aprèsl’ajoutd’unefacture
Étatinitialdelafenêtre
- Lorsdulancementdel'application,lajava.awt.ListListedesclientsestchargéeaveclalistealphabétiquedes
clients,aucunclientn’estsélectionné.
Contraintesd’ergonomie
- Leschampsaffichantlenometleprénomduclientsélectionnésontinactifs(onnepeutpassaisird’information).La
listedesfacturesetlechampMontanttotalsontinactifs.
- Lalistedesclientsindiquelenometleprénomdechaqueclient.Lalistedesfacturesindiqueladescriptionetle
montantdechaquefacture.
- Chaquemodificationdel'étatdelafenêtreparl’utilisateuractualiselesinformationsaffichées.
- Leboutonestactifsietseulementsilestroisconditionssuivantessontsimultanémentvraies:
unclientdelalistedesclientsestsélectionné;
untexteestsaisidanslechampDescription;
untextecorrespondantàunnombreentierestsaisidanslechampPrix.
Règlesdegestion
- Lasélectiond’unclientprovoquel’affichagedelalistedesesfactures(dansl’ordredesnumérosdefacture).
- Lasélectiond’unclientprovoqueleremplissagedeschampsNometPrénomduClientcourant.
- LechampMontanttotalaffichelasommedesfacturesduclienttellesqu’affichéesdanslalistedesfactures.Le
montanttotalvaut0sileclientn’aaucunefacture.

P.Daehne,J.Sievering3/3Version3.009.03.2015
- L’appuisurleboutonprovoque:
L’insertiond’unenouvellefacturedanslabaseaveclenuméroduclientcourantainsiqueladescriptionetle
prixsaisisdansleschamps.
Lamiseàjourdelalistedesfacturesaffichéesainsiquedumontanttotal.
LevidagedeschampsDescriptionetPrix.Note:leclientcourantrestesélectionné.
Ladésactivationdubouton.
Élémentsfournis(dansG:\_cours\1415\IG\634.1\ÉnoncésTP\P03)
- DanslerépertoireBase:lefichierCreateBaseFactureCC.sqlquiestlescriptdecréationdelabasededonnées
MySQLFactureCC.
- LeprojetNetBeans634.1P03Fournicontenantlastructuredebasedel’application:
Danslepackagedomaine:
LesclassesClientetFacturequisontlesentitésdudomaine(àcomplétersinécessaire).
Danslepackagebase:
LesclassesClientDaoetFactureDaoencapsulantlesaccèsàlabasededonnéespourlesentités
ClientetFacture(àcompléter).
LaclasseConnexionBasemodélisantlaconnexionàlabasededonnées.
Danslepackagebase.mysql:
LaclasseOutilsencapsulantlaconnexionàunebaseMySQL.
Danslepackagemetier:
LesclassesListeObjects,ListeClientsetListeFacturesquigèrentlesdonnéesetl’étatde
l’application(àcompléter).
Danslepackagepresentation:
LaclasseMainquigèrelelancementdel’application.
lafenêtreprincipaledel’applicationFrmMain(àcompléter).
- LamiseenformedescomposantsdeFrmMainestdéjàeffectuéeetceuxciontéténommésenrespectantles
conventionsdenommagedéfiniesencours.
Àfaire
- CompléterlecommentairedelaclasseFrmMaineninscrivantvosnometprénom.
- DémarrerMySQLetlancerlescriptdecréationdelabasededonnéesCreateBaseFactureCC.sql.
- Compléterlesclassesfourniesparducodefonctionnelrespectantlesspécificationsdonnéesdansleurdescription.
- Contraintesimpératives:
Vousrespecterezscrupuleusementladécompositionencouchesdel’applicationainsiquelesresponsabilités
dechacunedescouchesconformémentàcequenousavonsétudiéencours
Vousemploierezaumaximumleslistenersdehautniveaudéfinispourlescomposants;ilestenparticulier
strictementinterditdemettreenœuvreleslistenershéritésdeComponent.
Vousn’avezledroitdemodifierniladispositiondescomposantsdelafenêtre,nileurvisibilité,nileurnom.
Toutaulongdudéveloppementdevotreapplication,vousmettrezenœuvrelesconventionsetlesbonnes
pratiquesdeprogrammationainsiquelesprincipesdelaprogrammationobjetquevousavezétudiés.
Vousn’avezledroitdemodifiernilavisibilitédesattributs,nilessignaturesdesméthodesdéjàdéclarées.Vous
avezparcontreledroitdecréerdesattributsetdesméthodessupplémentairessinécessaire.
Indication
- Assurezvousdetoujoursdisposerd’unebasededonnéescohérente.N’hésitezpas,encoursdedéveloppement,à
rétablirlabasededonnéesoriginaleaumoyenduscriptSQLfourni.Attention,fermezvotreapplicationavantde
rétablirlabasededonnéesoriginale.
Délai
CetravailestàrendreenrecopiantleprojetNetBeansquevousavezdéveloppésurleréseauen:
G:\_cours\1415\IG\634.1\RedditionTP\VotreNom\P03
Groupe1(JS):lelundi16.03.2015à12h00Groupe2(PD):lejeudi19.03.2015à20h00
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !