Vous êtes sur la page 1sur 7

Groupe Phoenix 3A11

1ere partie :
Architecture logicielle (Les styles architecturaux + Les patrons de conceptions GoF)

Les Styles Architecturaux :


Dfinition :
L'architecture logicielle dcrit dune manire symbolique et schmatique les diffrents
lments dun ou de plusieurs systmes informatiques, leurs relations et leurs interactions.
Le processus de l'architecture logicielle regroupe les exigences des clients, les analyse et
produit la conception d'un lment du logiciel qui rpondra ces exigences.

La structuration du systme peut tre vue de deux manires :


le dcoupage logique hors de tout contexte dexcution (machines, OS et rseaux)
le dcoupage physique (prenant en compte le contexte dexcution)
Modle en 5 couches (dcoupage logique)
La structuration des applications se traduit par une dcomposition logiq ue de chaque
application en 5 couches
Chaque couche a ses propres responsabilits et utilise la couche situe en dessous delle

Le passage dune couche vers une autre doit imprativement se faire via des interfaces.

1.Couche prsentation : gre et assure l'affichage de l'interface graphique utilisateurs et les


interfaces homme-machine (fentres, pages .)
2.Couche contrleur : gre le contrle, les erreurs et les exception, les sessions
3.Couche service : elle correspond aux traitement qu'effectue l'application et reprsente
l'implmentation de la logique des cas d'utilisations
4.Couche domaine : gre l'intgrit du modle "mtiers" (la gestion des rgles lmentaires,
Page 1 sur 7

Groupe Phoenix 3A11

l'accs l'information SGBD .)


5.Couche persistance : elle offre les fonctionnalits de base qui permettent de crer,
rechercher et permet d'utiliser le mapping Objet/relationnel.

Les avantages :
matriser la complexit des applications (dveloppement, changes entre les applications,
interactions entre objets)
optimiser les temps de dveloppement, en factorisant certains lments
isoler les problmatiques denchanements de processus
favoriser la communication : lintrieur dune application et entre les applications

Les inconvnients :
- Une expertise est requise
- Le cout du dveloppement est lev
- Difficult de conception
- Empilement des couches

Exemple d'applications :
Le modle 5 couches sapplique aux applications munies dune interface graphique
manipulant des donnes persistantes.
Une pratique rpandue dans l'architecture d'une application de gestion (utilisation des BD +
interfaces graphiques )

Les Patrons de Conception :


Le patron de conception ou le design pattern est :
Un fragment darchitecture objets qui prsente une solution classique un problme
frquent .
Cette solution doit tre indpendante des algorithmes qui dcouple les diffrents problmes
et leurs diffrentes rponses

Les patrons de conception GoF :


Ces patterns trs clbres ont t conus par 4 informaticiens qui proposent eux aussi des
Page 2 sur 7

Groupe Phoenix 3A11

solutions lgantes, et toujours diffrentes pour rsoudre diffrents problmes rcurrents


rencontrs par les architectes logiciels.
Ces patrons de conception sont classs en trois catgories :
Les patrons de cration dcrivent comment rgler les problmes d'instanciation de
classes
ils ont pour but de grer les problmes de cration de nouveaux objets
Les patrons de structure dcrivent comment structurer les classes afin d'avoir le
minimum de dpendance entre l'implmentation et l'utilisation dans diffrents cas.
ils servent organiser les informations dans un graphe dobjets.
Les patrons de comportement dcrivent une structure de classes pour le comportement
de l'application
ils servent matriser les interactions entre objets
Patron prototype :
Catgorie : patron de cration

Objectifs : le pattern Prototype permet de crer de nouveaux objets partir d'objets


existants plutt que produire de nouvelles instances.
Ces objets sont appels prototypes et possdent une capacit de duplication.
Ce design pattern permet d'isoler l'appartenance une classe
Exemple:
Prototype : dfinit l'interface de duplication de soi-mme
PrototypeA et prototypeB: sont des sous-classes concrtes
de Prorotype.
Elles implmentent l'interface de duplication.
La partie client appelle la mthode clone() de la classe
Prototype.
Cette mthode retourne un double de l'instance
- On utilise le pattern Prototype :

Quand on doit crer de nouveaux objets partir d'objets existants soit par copie, soit par
clonage.

Quand la cration d'un objet est plus coteuse que de le copier.

Page 3 sur 7

Groupe Phoenix 3A11


Exemple d'application :
La classe Prototype est le squelette principal qui permet
de crer les nouvelles copies.
Les classes BonCommande, Facture et Notice sont les
sous-classes spficiques ayant leurs propres attributs.
La mthode Clone() retourne une copie de l'objet.

Page 4 sur 7

Groupe Phoenix 3A11

2me partie : la gestion de configuration logicielle (GCL)


Intrt de la GCL :
La gestion de configuration est la discipline qui permet de contrler l'volution d'un systme, durant
les diverses phases de dveloppement et de maintenance et d'assurer l'intgrit et la cohrence des
versions livres tout en tenant compte des modifications apportes et des fonctionnalits ajoutes.
Objectifs :
Contrler les volutions durant tout le cycle de vie
Archiver chacun des tats successifs
Vrifier que chaque tat est cohrent et complet
la maitrise des mises a jours
Pourquoi grer en configuration ?
Pour viter que:
Le mme fichier modifi par des dveloppeurs diffrents pour des correction redondantes.
Des anomalies corriges qui rapparaissent la suite d'une nouvelle amlioration
La perte du programme source, de la bonne version de l'outil de dveloppement
L'incapacit de connaitre la version livre et en exploitation
Le blocage de l'application lors d'une mise a jour du systme
Le processus de gestion de configuration
on retrouve 4 fonctions principales :

Qu'offre la GCL?

Page 5 sur 7

Groupe Phoenix 3A11

Travailler plusieurs: chaque dveloppeur utilise les 2 fonctions principale dun GCL :
-le ckeckout qui permet de rcuprer la dernire version dun projet depuis un
dpt
-le commit qui permet denvoyer les modifications sur le dpt
Conserver lensemble des versions dun ensemble de fichiers : cela permet de revenir en
arrire en cas de problme sur la version actuelle
Conserver lidentit des dveloppeurs: la journalisation
Grer les conflits: Lorsque plusieurs modifications ont lieu sur un mme fichier, elle
permet de ne pas voir son travail cras par un collgue qui navait pas effectu un
checkout.
Il existe 2 types de GCL :
Centralise : Un seul dpt des versions faisant rfrence. Exp: CVS, Subversion(SVN).
+ Simple de mise en place
- Pas de dveloppement hors connexion
Dcentralise : Plusieurs dpots pour un mme logiciel. Exp : Git
+ Permet de travailler de manire indpendante des autres .
- ne permet pas de fusionner 2 versions diffrentes

Les principes de base :


La journalisation : permet de contrler les modifications apportes chaque fichier ou composant
dun logiciel:
Historique daccs : Qui? Quand? Nature(Cration/modification/destruction).
Dtail de la modification( par des outils intelligents de comparaison des sources).

Le versionning : Un logiciel volue dune version lautre en subissant une suite de changements
Les principes de base du versionning :
- Il faut simaginer les relations entre versions comme un arbre (appel arbre de gestion de
versions) avec un tronc, des branches et des sous-branches

Tag: Ltiquetage (tag) consiste associer un nom une version donne

Page 6 sur 7

Groupe Phoenix 3A11


La gestion des conflits : La GCL permet de travailler de faon concurrente sur les mmes fichiers.
Si les portions modifies diffrent, il n'y a pas de problme.
Si des portions modifies sont communes, il y a problme.
Les conflits se rsolvent manuellement.
Il existe 2 types de gestion de conflits :
- Pessimiste : impose chaque utilisateur de demander un verrou avant de modifier une
ressource ; ce verrou lui garantit qu'il sera le seul modifier la ressource
-Optimiste : Les dveloppeurs peuvent diter en mme temps le mme fichier : le logiciel de
gestion de version soccupe de fusionner toutes les versions du mme fichier
en un seul.

Page 7 sur 7

Vous aimerez peut-être aussi