Architecture des logiciels
najmaf
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
najmaf Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
najmaf Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
S'il vous plait, j'ai une question à propos de l'architecture des logiciels
En effet, j'ai besoin d'une explication des différentes architectures:
1-Logiciels avec Architecture intégrées.?
2- Logiciels avec architecture orientée objet?
3- Logiciels avec architecture en flot de données?
Et c'est quoi la différence entre eux?
Et merci bien d'avance.
S'il vous plait, j'ai une question à propos de l'architecture des logiciels
En effet, j'ai besoin d'une explication des différentes architectures:
1-Logiciels avec Architecture intégrées.?
2- Logiciels avec architecture orientée objet?
3- Logiciels avec architecture en flot de données?
Et c'est quoi la différence entre eux?
Et merci bien d'avance.
A voir également:
- Architecture des logiciels
- Logiciel architecture gratuit - Télécharger - Architecture & Déco
- Logiciels sauvegarde - Guide
- Logiciel 3d architecture - Télécharger - Architecture & Déco
- Logiciel de plan de maison : les meilleurs outils gratuits - Guide
- Architecture 3D - Plan 2D - Télécharger - Architecture & Déco
10 réponses
Bonjour !
Pour faire simple :
1. Système formé d'éléments dont la liste précise est prédéterminée, et qui ne peuvent être remplacés par d'autres ni fonctionner isolément. Je n'ai pas d'exemple pour ce cas, mais la définition suffit à elle-même.
2. Les objets (représentation virtuelle du monde réel) sont issus d'un concept appelé Programmation Orientée Objet (POO). Java est un langage orienté objet. Un Logiciel bénéficiant d'une architecture orientée objet sera plus facile à maintenir. Je t'invite à regarder les tutos sur la POO afin d'en saisir les concepts (héritage, polymorphisme, classes, objets... et tout le toutim) ; c'est long et n'a rien à voir avec le procédural. Mais tellement puissant pour des gros projets ! Et je parle en connaissance de cause. Bref.
3. C'est basé sur une architecture dont les composants sont liés par des flots. Je n'ai jamais vu une telle architecture. Ca semble être objet. Je demanderai l'avis d'un helper 'calé' sur le sujet.
J'ai vraiment dégrossi les différences. Si tu as une question particulière, j'essaierai d'aller plus loin. Surtout en POO ! Je développe en Java EE 7, donc la structure objet m'est familière.
En espérant t'avoir apporté des éléments de réponse,
Luc
Pour faire simple :
1. Système formé d'éléments dont la liste précise est prédéterminée, et qui ne peuvent être remplacés par d'autres ni fonctionner isolément. Je n'ai pas d'exemple pour ce cas, mais la définition suffit à elle-même.
2. Les objets (représentation virtuelle du monde réel) sont issus d'un concept appelé Programmation Orientée Objet (POO). Java est un langage orienté objet. Un Logiciel bénéficiant d'une architecture orientée objet sera plus facile à maintenir. Je t'invite à regarder les tutos sur la POO afin d'en saisir les concepts (héritage, polymorphisme, classes, objets... et tout le toutim) ; c'est long et n'a rien à voir avec le procédural. Mais tellement puissant pour des gros projets ! Et je parle en connaissance de cause. Bref.
3. C'est basé sur une architecture dont les composants sont liés par des flots. Je n'ai jamais vu une telle architecture. Ca semble être objet. Je demanderai l'avis d'un helper 'calé' sur le sujet.
J'ai vraiment dégrossi les différences. Si tu as une question particulière, j'essaierai d'aller plus loin. Surtout en POO ! Je développe en Java EE 7, donc la structure objet m'est familière.
En espérant t'avoir apporté des éléments de réponse,
Luc
Bonjour luckydu43
D'abord, je tiens à vous remerciez infiniment pour votre réponse.
Merci beaucoup pour votre explication.
En effet, j'ai pas bien saisi la notion de flot de données: ça veut sire quoi que les composants sont liées par des flots?.
Est ce que l'architecture intégrée à une relation avec l'architecture orienté objet?
Et pour la programmation OO, si vous pourrez m'expliquer un peu le concept de la programmation par objet je serais très reconnaissante.
Désolé si je vous ai déranger par mes questions et merci beaucoup d'avance.
najmaf
D'abord, je tiens à vous remerciez infiniment pour votre réponse.
Merci beaucoup pour votre explication.
En effet, j'ai pas bien saisi la notion de flot de données: ça veut sire quoi que les composants sont liées par des flots?.
Est ce que l'architecture intégrée à une relation avec l'architecture orienté objet?
Et pour la programmation OO, si vous pourrez m'expliquer un peu le concept de la programmation par objet je serais très reconnaissante.
Désolé si je vous ai déranger par mes questions et merci beaucoup d'avance.
najmaf
Je vous remercie ;-)
N'ayant pas travaillé en architecture par flot ou intégrée, je vais m'abstenir d'explications. Il en va de la crédibilité de mes réponses !
Je vais donc, pour me faire pardonner, faire un beau pavé sur... la POO :
C'est une approche de programmation mettant en scène des classes, modèle (ou plan) d'objets, représentations du monde réel.
On définit, dans la classe, tous les paramètres inhérents à l'objet en question.
Prenons l'exemple (type, certes) du Garage.
Un Garage possède des voitures.
Un Garage à une taille, une superficie, un gérant..
On va donc créer une classe Garage ayant tous ces attributs (paramètres).
Il faut aussi une classe Voiture, avec le moteur, la couleur, la marque...
Et une classe Personne ayant en attributs le nom, le prénom, le CNI...
Un gérant est une personne. La classe Gerant va donc posséder TOUS les attributs de la classe Personne.
C'est l'héritage.
Viennent les méthodes (fonctions).
Une voiture peut s'ouvrir avec la clé dans la serrure de la portière, ou bien avec le bouton de la clé.
Il y a donc 2 manières différentes d'obtenir le même resultat.
Cela donnerait (en Java) :
ouvrir(Cle cle, CodeCle code) {
ouvrir(Cle cle) {
"Les puristes me taperont dessus. Le code n'est absolument pas viable. Mais je n'avais que cet exemple en tête :-("
C'est le polymorphisme.
A l'instantiation, on aura alors un objet Gerant, des objets Voiture et un objet Garage ayant un Gerant et des Voiture !
Notez la saisie des classes : Xxxxx (CamelCase)
C'est le principe de base (objet).
Ensuite, comme les classes s'appellent entre elles, on peut découper indéfiniment (enfin, suivant la taille du disque dur :-D) le code, et faciliter grandement sa maintenance.
C'est puissant. Et avec l'ajout de librairies (sorte de packs tout compris avec de belles fonctions prêtes à l'emploi pour faciliter la vie des développeurs), on peut adapter le langage à tout et n'importe quoi (WEB, applis, programmes divers et variés).
'J'ai un peu vendu la POO'
Voilà !
En espérant n'avoir par trop été indigeste ;-) Et en vous souhaitant du courage et de la chance dans vos recherches,
Bonne journée !
Luc
N'ayant pas travaillé en architecture par flot ou intégrée, je vais m'abstenir d'explications. Il en va de la crédibilité de mes réponses !
Je vais donc, pour me faire pardonner, faire un beau pavé sur... la POO :
C'est une approche de programmation mettant en scène des classes, modèle (ou plan) d'objets, représentations du monde réel.
On définit, dans la classe, tous les paramètres inhérents à l'objet en question.
Prenons l'exemple (type, certes) du Garage.
Un Garage possède des voitures.
Un Garage à une taille, une superficie, un gérant..
On va donc créer une classe Garage ayant tous ces attributs (paramètres).
Il faut aussi une classe Voiture, avec le moteur, la couleur, la marque...
Et une classe Personne ayant en attributs le nom, le prénom, le CNI...
Un gérant est une personne. La classe Gerant va donc posséder TOUS les attributs de la classe Personne.
C'est l'héritage.
Viennent les méthodes (fonctions).
Une voiture peut s'ouvrir avec la clé dans la serrure de la portière, ou bien avec le bouton de la clé.
Il y a donc 2 manières différentes d'obtenir le même resultat.
Cela donnerait (en Java) :
ouvrir(Cle cle, CodeCle code) {
ouvrir(Cle cle) {
"Les puristes me taperont dessus. Le code n'est absolument pas viable. Mais je n'avais que cet exemple en tête :-("
C'est le polymorphisme.
A l'instantiation, on aura alors un objet Gerant, des objets Voiture et un objet Garage ayant un Gerant et des Voiture !
Notez la saisie des classes : Xxxxx (CamelCase)
C'est le principe de base (objet).
Ensuite, comme les classes s'appellent entre elles, on peut découper indéfiniment (enfin, suivant la taille du disque dur :-D) le code, et faciliter grandement sa maintenance.
C'est puissant. Et avec l'ajout de librairies (sorte de packs tout compris avec de belles fonctions prêtes à l'emploi pour faciliter la vie des développeurs), on peut adapter le langage à tout et n'importe quoi (WEB, applis, programmes divers et variés).
'J'ai un peu vendu la POO'
Voilà !
En espérant n'avoir par trop été indigeste ;-) Et en vous souhaitant du courage et de la chance dans vos recherches,
Bonne journée !
Luc
Merci beaucoup pour votre aide luckydu43 c'est vraiment très gentil de votre part.
Je commence à me situer dans le bain de la POO, merci beaucoup pour l'exemple c'était utile car moi je ne comprend jamais sans exemple :)
Il me reste une question s'il vous plait pour l'architecture intégrée, est ce qu'il ya une relation entre l'architecture orienté objet et l'architecture intégrée??
Espérant que je vous ai pas dérangé par mes questions :)
Merci beaucoup encore une fois et bonne chance à toi aussi dans ton parcours et en Java ;) .
Bonne journée!!
Je commence à me situer dans le bain de la POO, merci beaucoup pour l'exemple c'était utile car moi je ne comprend jamais sans exemple :)
Il me reste une question s'il vous plait pour l'architecture intégrée, est ce qu'il ya une relation entre l'architecture orienté objet et l'architecture intégrée??
Espérant que je vous ai pas dérangé par mes questions :)
Merci beaucoup encore une fois et bonne chance à toi aussi dans ton parcours et en Java ;) .
Bonne journée!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
A mon sens, les deux n'ont rien en commun.
L'architecture integrée induit que l'absence de tel ou tel composant rend le système inutilisable.
La POO permet justement de rendre le code générique, c'est-à-dire pouvant servir à diverses applications différentes. De même, on peut facilement supprimer ou ajouter une classe et l'integrer au programme (via les façades), ce qui est impossible en architecture intégrée ; où la structure est définie à l'avance et est immuable.
En espérant vous avoir répondu ;-)
Bonne journée
L'architecture integrée induit que l'absence de tel ou tel composant rend le système inutilisable.
La POO permet justement de rendre le code générique, c'est-à-dire pouvant servir à diverses applications différentes. De même, on peut facilement supprimer ou ajouter une classe et l'integrer au programme (via les façades), ce qui est impossible en architecture intégrée ; où la structure est définie à l'avance et est immuable.
En espérant vous avoir répondu ;-)
Bonne journée
D'accord merci beaucoup pour votre aide :)
Je ne sais pas si j'ai le droit de demander une autre question ou pas ;-)
J'ai un problème concernant l'automatisation d'une application de bureau afin de pouvoir l'appeler à partir d'une page web je ne sais pas si vous avez une idée pour ça.
J'ai posté une question mais j'ai pas encore reçu de réponse.
Désolé pour ce dérangement et merci beaucoup d'avance.
Bonne journée.
Je ne sais pas si j'ai le droit de demander une autre question ou pas ;-)
J'ai un problème concernant l'automatisation d'une application de bureau afin de pouvoir l'appeler à partir d'une page web je ne sais pas si vous avez une idée pour ça.
J'ai posté une question mais j'ai pas encore reçu de réponse.
Désolé pour ce dérangement et merci beaucoup d'avance.
Bonne journée.
Avez vous essayé la balise link ? C'est en tout cas par là que je me dirigerai ;-)
Au fait, vous ne me dérangez pas ! Je préfère répondre à des questions pertinentes formulées poliment que les éternels "ca marche paaaas..." couramment rencontrés sur le forum !
En vous souhaitant une bonne journée,
Luc
Au fait, vous ne me dérangez pas ! Je préfère répondre à des questions pertinentes formulées poliment que les éternels "ca marche paaaas..." couramment rencontrés sur le forum !
En vous souhaitant une bonne journée,
Luc
Merci beaucoup pour votre aide ainsi que vos explication qui sont très utiles.
Non je ne connais pas cette balise.
En effet, j'ai une application de bureau (programmer en java) dont je me servis pour exécuter un ensemble de taches. je compte réaliser une page web à partir de laquelle je veux appelez cette application pour exécuter des taches au sein de cette page mais je ne sais pas commet faire.
Merci encore une fois
Bonne journée à toi aussi
najmaf
Non je ne connais pas cette balise.
En effet, j'ai une application de bureau (programmer en java) dont je me servis pour exécuter un ensemble de taches. je compte réaliser une page web à partir de laquelle je veux appelez cette application pour exécuter des taches au sein de cette page mais je ne sais pas commet faire.
Merci encore une fois
Bonne journée à toi aussi
najmaf
C'est peut-être un peu tard...
Avec un IDE stantard (type Eclipse, ou Netbeans), on peut réaliser un Entreprise Application Project (EAR). Il y a 3 "projets" inclus :
le projet principal
le projet contenant les EJB (toute la partie métier (classes, fonctions ; c'est là qu'ira votre application)
le projet Web contenant les pages web, les images, les templates, mais surtout les beans (contrôleurs de pages web, en quelque sorte).
C'est architecturé MVC (Modèle, Vue, Contrôleur) : La vue communique avec le métier via le contrôleur et inversement.
L'inconvénient de cette structure est qu'elle prend du temps à mettre en place et demande des compétences particulières en Java EE, ainsi qu'une maitrise du modèle MVC, ainsi que des Scope, des Beans...
Les avantages sont nombreux :
Puissance de l'appli (Java)
Sécurité du code (Faces, Spring, beans...)
Maintenance du code aisée (suivant la doc ;-) )
Possibilité de faire communiquer et de persister des données en Base
Et surtout :
Très apprécié par les entreprises !
Ce n'est peut-être pas la réponse à laquelle tu t'attendais ; je pense que partager ma façon de travailler peut t'aiguiller sur un chemin différent
En te souhaitant bonne continuation dans tes projets !
Luc
Avec un IDE stantard (type Eclipse, ou Netbeans), on peut réaliser un Entreprise Application Project (EAR). Il y a 3 "projets" inclus :
le projet principal
le projet contenant les EJB (toute la partie métier (classes, fonctions ; c'est là qu'ira votre application)
le projet Web contenant les pages web, les images, les templates, mais surtout les beans (contrôleurs de pages web, en quelque sorte).
C'est architecturé MVC (Modèle, Vue, Contrôleur) : La vue communique avec le métier via le contrôleur et inversement.
L'inconvénient de cette structure est qu'elle prend du temps à mettre en place et demande des compétences particulières en Java EE, ainsi qu'une maitrise du modèle MVC, ainsi que des Scope, des Beans...
Les avantages sont nombreux :
Puissance de l'appli (Java)
Sécurité du code (Faces, Spring, beans...)
Maintenance du code aisée (suivant la doc ;-) )
Possibilité de faire communiquer et de persister des données en Base
Et surtout :
Très apprécié par les entreprises !
Ce n'est peut-être pas la réponse à laquelle tu t'attendais ; je pense que partager ma façon de travailler peut t'aiguiller sur un chemin différent
En te souhaitant bonne continuation dans tes projets !
Luc
Bonjour Luc,
Merci beaucoup pour votre réponse.
:-) je vais y penser mais le problème c'est que j'ai pas beaucoup de temps pour réaliser cette taches je dois trouver une solution avec peu de temps :/ .
Merci beaucoup encore une fois. je vais déposer une autre question ici si jamais j'aurais plus de solution :-)
En te souhaitant bonne continuation à toi aussi dans ton parcours.
najmaf
Merci beaucoup pour votre réponse.
:-) je vais y penser mais le problème c'est que j'ai pas beaucoup de temps pour réaliser cette taches je dois trouver une solution avec peu de temps :/ .
Merci beaucoup encore une fois. je vais déposer une autre question ici si jamais j'aurais plus de solution :-)
En te souhaitant bonne continuation à toi aussi dans ton parcours.
najmaf