"Mixer" objet et non-objet ?
Bonjour,
Je suis en train de rédiger un dossier de spécification fonctionnelles pour un projet d'étude du Cnam.
Mon application sera divisée en deux parties : un "serveur" écrit entièrement en Java et un "client" en PHP. Grossièrement le serveur doit effectuer des requête SNMP sur les ressources configurées et enregistrer / consolider les résultats. Le client sert à configurer le serveur (ajouter une ressource etc.) et à visualiser les résultats.
Mon problème est le suivant :
J'utilise UML pour faire la spécification du côté serveur sans (trop) de problème par contre j'ai beaucoup de mal à l'utiliser pour la spécification PHP qui ne sera pas entièrement objet de son côté pour des raisons de temps (c'est que je travaille à côté de ça :-).
Il me semblerait assez mauvais de faire "comme si" le client était tout objet puis côté code de faire de la programmation non-objet.
Ma question est donc :
Auriez-vous des conseils quand à la présentation du dossier de spécification ? Il me semble qu'utiliser UML pour modeliser des applications PHP non objet n'est pas vraiment recommandé. Mais alors comment faire et comme modeliser le lien entre le côté PHP et le côté Java décrit en UML ?
Vos lumières seront les bienvenues. :)
Zapho
Mais si, on peut faire 'comme si'
On peut faire 'comm si'. En effet, il ne faut pas oublier qu'UML sert à modéliser des concepts, autrement de formaliser des fonctionnements.
Je ne ferai ici que préciser le pourquoi de ce qu'a répondu n.patricia en te disant que l'avantage d'une méthode objet est une grande décomposition de toute les activités d'une application, et qu'UML permet à merveille de visualiser cette décomposition.
On peut donc tout à fait détourner l'objet pour implémenter ensuite du non-objet, il suffit d'être rigoureux ET dans la description des comportements en UML ET dans le codage des opérations.
Je citerai en bref exemple un de mes collègues de bureau qui a été amené ces derniers mois à travailler sur une application en DOS pour de vieux terminaux. Lui a fait le choix d'une extrême décomposition et d'une simulation de l'objet. Cela a impliqué qu'il passait pas mal de paramètres pour faire comme si on accédait directement à un objet.
Cependant il y a des endroits où (puisque tu as le choix en PHP) il vaudra mieux utiliser de l'objet, par exemple pour ce qui est de la gestion d'un panier, dans un site commercial.
Il y a d'ailleurs un super bouquin pas cher chez Eyrolles (UML pour modéliser un site e-commerce), très bien fait pour débutants.