Vous êtes sur la page 1sur 122

ARCHITECTURES LOGICIELLES

Prof : Mr Baba Fall, Doctorant en informatique LTI/ESP/UCAD

Contexte Gnral
Ltude formelle des aspects architecturaux des

logiciels fait, depuis peu, lobjet de recherches actives. Sil est vrai quune maquette jeter ne justifie pas une conception logicielle pousse, la maintenabilit et la modifiabilit de systmes de plus en plus complexes ne peuvent plus se contenter dune organisation logicielle artisanale : les choix architecturaux doivent tre justifis et sappuyer sur un ou plusieurs modles darchitecture idoine.
Source : Galle Calvary, Jolle Coutaz, Laurence Nigay, Daniel Salber, PAC+3 : un modle darchitecture gnrique pour systmes multi-utilisateurs, CLIPS-IMAG, B.P. 53 - 38041 Grenoble Cedex 9, France
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Solution de larchitecture logicielle


L'architecture logicielle constitue le plus gros livrable

d'un processus logiciel aprs le produit (le logiciel luimme). En effet, la phase de conception devrait consommer autour de 40 % (Pressman R. S., Software Engineering: A Practitioner's Approach, Third Edition. McGraw-Hill. Chapitre 4, p. 107, 1992.) de l'effort total de dveloppement et devrait tre suprieure ou gale, en effort, la phase de codage mais il peut tre moindre. L'effort dpend grandement du type de logiciel dvelopp, de l'expertise de l'quipe de dveloppement, du taux de rutilisation et du processus logiciel.
3 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Objectifs
Prsentation de mthodes et doutils modernes

pour le dveloppement de logiciels. Mise en uvre de principes d'ingnierie afin d'obtenir, prix raisonnable, des logiciels fiables et efficaces. Minimisation du cots de dveloppement, de maintenance et d'utilisation pendant toute la vie du logiciel. Approches mthodologiques pour la conception, dveloppement et volution du logiciel.
4 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Pourquoi modliser avant ?


Les deux objectifs principaux de toute

architecture logicielle sont :


la rduction des cots : est principalement ralise

par la rutilisation de composants logiciels et par la diminution du temps de maintenance (correction d'erreurs, adaptation du logiciel), et l'augmentation de la qualit du logiciel : se trouve distribue travers plusieurs critres; la norme ISO 9126 est un exemple d'un tel ensemble de critres.

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Critres de qualit logiciel 1/5


L'interoprabilit extrinsque exprime la capacit du

logiciel communiquer et utiliser les ressources d'autres logiciels comme, par exemple, les documents crs par une certaine application. L'interoprabilit intrinsque exprime le degr de cohrence entre le fonctionnement des commandes et des modules l'intrieur d'un systme ou d'un logiciel. La portabilit exprime la possibilit de compiler le code source et/ou d'excuter le logiciel sur des platesformes (machines, systmes d'exploitation, environnements) diffrents.
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Critres de qualit logiciel 2/5


La compatibilit exprime la possibilit, pour un

logiciel, de fonctionner correctement dans un environnement ancien (compatibilit descendante) ou plus rcent (compatibilit ascendante). La validit exprime la conformit des fonctionnalits du logiciel avec celles dcrites dans le cahier des charges. La vrifiabilit exprime la simplicit de vrification de la validit. L'intgrit exprime la facult du logiciel protger ses fonctions et ses donnes d'accs non autoriss.
7 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Critres de qualit logiciel 3/5


La fiabilit exprime la facult du logiciel grer

correctement ses propres erreurs de fonctionnement en cours d'excution. La maintenabilit exprime la simplicit de correction et de modification du logiciel, et mme, parfois, la possibilit de modification du logiciel en cours d'excution. La rutilisabilit exprime la capacit de concevoir le logiciel avec des composants dj conus tout en permettant la rutilisation simple de ses propres composants pour le dveloppement d'autres logiciels.
8 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Critres de qualit logiciel 4/5


L'extensibilit exprime la possibilit d'tendre

simplement les fonctionnalits d'un logiciel sans compromettre son intgrit et sa fiabilit. L'efficacit exprime la capacit du logiciel exploiter au mieux les ressources offertes par la ou les machines o le logiciel sera implant. L'autonomie exprime la capacit de contrle de son excution, de ses donnes et de ses communications.

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Critres de qualit logiciel 5/5


La transparence exprime la capacit pour un

logiciel de masquer l'utilisateur (humain ou machine) les dtails inutiles l'utilisation de ses fonctionnalits. La composabilit exprime la capacit pour un logiciel de combiner des informations provenant de sources diffrentes. La convivialit dcrit la facilit d'apprentissage et d'utilisation du logiciel par les usagers.

10

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Evolutivit de logiciel
Graphique de dgradation du logiciel en fonction de l'architecture .Inspir de : Pressman R. S., Software Engineering: A Practitioner's Approach, Fifth Edition. McGrawHill. Architectures Chapitre 1, p. Logicielles - Licence TlInfo ESP/UCAD - avril 2012 8, 2001.

11

Rutilisation de composants logiciels


Une rutilisation bien orchestre ncessite la cration

et le maintien d'une bibliothque logicielle et un changement de focus. Crer une application revient crer les composants de bibliothque ncessaires puis construire l'application l'aide de ces composants. Une telle bibliothque, facilitant le dveloppement d'application est un Framework d'entreprise et son architecture ainsi que sa documentation sont les pierres angulaires de la rutilisation logicielle en entreprise.
12 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Dfinition
Modle darchitecture
Organisation logicielle de lensemble des modules ou

bibliothques du systmes Le modle du programmeur

Rappel : ne pas confondre avec le modle conceptuel


Organisation conceptuelle de lensemble des

fonctionnalits du systme en un ensemble de commandes et leurs effets systme

Du modle darchitecture dcoule (fig. 1)


les performances, la maintenabilit, la modularit du

Du modle conceptuel dcoule (fig. 2)


les performances, la satisfaction et ltat de lutilisateur

13

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Fig.1 : Les sites web bass sur KSup l'universit Lumire Lyon 2

14

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Fig.2 : MCT dun logiciel de vente en ligne

15

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modles darchitecture logicielle


Modle de base :
sparation de lIHM et du noyau fonctionnel
Noyau fonctionnel IHM

Autres modles darchitecture:


Modle Seeheim ou modle langage

Modle Objet
MVC (Model View Controller) Modle Multi Agents : PAC (Presentation Abstract

Control)
16 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modle Seeheim
Ce patron darchitecture logicielle est introduit en

1983 lors dun atelier de travail en Allemagne par Eurographics. Ce modle stipule que lIHM est compose de 3 parties :

la prsentation : couche qui gre les IO, elle prsente les

donnes et interprte les actions utilisateur; la Gestion du Dialogue gre la squence des IO, par exemple lenchanement des crans dans une interface graphique; le Modle Interfaage de lApplication est la couche qui sert relier le Noyau Fonctionnel et les donnes.
Il sapplique lanalyse des logicielles en une vue

macroscopique.

17

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Schma du modle Seeheim

Noyau Fonctionnel

Interface avec Noyau Fonctionnel

Contrle du Dialogue

Prsentatio n

18

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modle Objet
Dvelopper objet c'est bien, architecturer c'est

mieux. Existe dans de multiples variantes :


comme modle architectural : comme modle conceptuel, comme modle conceptuel et architectural.

Engendre la construction de modles plus

labors :
Model View Controller, Presentation Abstract Control
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

19

Modles architecturaux objet 1/5


Un modle ne reprsente toujours qu'un point de vue

sur le systme considr, le plus important tant les motivations. Pour viter de formuler les motivations pour chaque diagramme l'architecte produira les diffrents diagrammes en fonction d'un modle de conception et rutilisera des patrons de conception prouvs. La devise des trois pres fondateurs d'UML est Centr sur l'architecture, pilot par les cas d'utilisation et au dveloppement itratif et incrmentiel . Cette devise indique clairement qu'aucune dcision architecturale ne doit tre prise sans que celle-ci ne soit dicte par la satisfaction des spcifications systmes (cas d'utilisation).
20 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modles architecturaux objet 2/5


La vue des cas d'utilisation est un modle d'analyse

formalis par Ivar Jacobson.


Un cas d'utilisation est dfini comme un ensemble de

scnarios d'utilisation, chaque scnario reprsentant une squence d'interaction des utilisateurs (acteurs) avec le systme. Chaque cas d'utilisation est reprsent par un diagramme de cas d'utilisation, chacun des scnarios de celui-ci tant dcrit par un ou plusieurs diagrammes dynamiques :diagrammes d'activits, de squence, diagrammes de communication ou d'tatstransitions. L'intrt des cas d'utilisation est de piloter l'analyse par les exigences des utilisateurs.
21 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modles architecturaux objet 3/5


La vue logique constitue la principale description

architecturale d'un systme informatique


Cette vue dcrit, de faon statique et dynamique, le

systme en termes d'objets et de classes. La vue logique permet d'identifier les diffrents lments et mcanismes du systme raliser. Elle permet de dcomposer le systme en abstractions et est le cur de la rutilisation. La vue logique est reprsente, principalement, par des diagrammes statiques de classes et d'objets enrichis de descriptions dynamiques : diagrammes d'activits, de squence, diagrammes de communication ou d'tatstransitions
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

22

Modles architecturaux objet 4/5


La vue des processus dcrit les interactions entre les

diffrents processus, threads (fils d'excution) ou tches, elle permet galement d'exprimer la synchronisation et l'allocation des objets. Cette vue permet avant tout de vrifier le respect des contraintes de fiabilit, d'efficacit et de performances des systmes multitches. La vue de ralisation permet de visualiser l'organisation des composants (bibliothque dynamique et statique, code source...) dans l'environnement de dveloppement et de grer la configuration (auteurs, versions...). Les seuls diagrammes de cette vue sont les diagrammes de composants.
23 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modles architecturaux objet 5/5


La vue de dploiement reprsente le systme

dans son environnement d'excution. Elle traite des contraintes gographiques (distribution des processeurs dans l'espace), des contraintes de bandes passantes, du temps de rponse et des performances du systme ainsi que de la tolrance aux fautes et aux pannes. Cette vue est fort utile pour l'installation et la maintenance rgulire du systme.

24

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modle Vue Contrleur


Origine de MVC :
Modle issu de Smalltalk-80 (Environnement Interactif de

programmation) Adopt par de nombreuses botes outils graphiques:


Designer, etc.

Smalltalk-80, Java AWT, Microsoft Foundation Class Library, X-

Principe de base :
M : Modle reprsente les donnes de lapplication (implmente fonctionnalit et structure de donnes) V : Vue prsente linformation aux utilisateurs en utilisant les donnes issues des modles C : Contrleur se charge de linteraction avec lutilisateur
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

25

MVC
La modularit : diviser pour mieux rgner Exemples :
Eclipse : do la possibilit dajout des

fonctionnalit sans affecter la partie visuelle Excel Bonnes applications web (Content Management System) : Django, Drupal, Joomla, etc.

26

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Presentation Abstraction Conrol


Ressemble au MVC:
Cependant dcoupe le projet en 3 sous projets ayant

chacun :
une partie Prsentation

une partie Contrle


une partie Mtier ou implmentation

27

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modle architecture PAC

28

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Communication entre les composants MVC


Modle Etat et comportement de lapplication
Accs ou modification du modle Accs ou modification du modle

Notification des changements dans le modle

Contrleur Gestion des entres


Requtes daffichage

Vue Prsentation

Dispositif s dentre, clavier, souris, etc. 29

Dispositifs daffichage

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Modle multi-vues
Modle asymtrique
Une paire Contrleur/Vue est associe un seul modle Un modle peut se voir associer plusieurs paires

Contrleur/Vue
Listes de dpendants et notification
Les paires Vue/Contrleur dun modle sont enregistres

au niveau de ce modle dans sa liste de dpendants Lorsque le modle change, tous les dpendants sont notifis
Cycle standard dinteraction dans MVC
Interaction utilisateur activation dun

contrleurmodification du modlenotification et modification des vues.

30

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Conclusion MVC
Avantages
vues multiples synchronises vues et contrleurs modulaires dveloppement de composants rutilisation programmation naturelle du look and feel cohrence interne et externe des interfaces

Inconvnients
complexit de communication entre les composants

31

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple dapplication MVC


Il sagit dune application J2ME qui permet de grer

une bourse et les diffrentes dpenses. Ce projet se divise en 3 parties (package) :


model : se trouvent les classes Business et Rubrique view : se trouvent AccueilPrincipal, AjoutRubrique,

Confirmation, ConfirmationSuppression, EditerPlanning, EnregistrerDepense, Etat, NouveauPlanning, Parametre, Planning, SupprimerRubrique control : BudgetMidlet

32

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

33

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le Framework Django
Django est dvelopp avec Python.

Il a t conu pour rendre les tches de dveloppement

web rapides et faciles. Il peut tre installer partir du gestionnaire de package ou avec la commande sudo apt-get install django sous Ubuntu 10.x Il peut tre utilis sous iPython en mode commande en important le package django.

34

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Crer un projet Django


La commande suivant permet de crer un nouveau projet Django sous le shell dUbuntu : django-admin startproject nom_projet
Crez un dossier o vous voulez loger vos codes (mkdir /home/myDjangoProject) et sy placer avant dexcuter la

commande :

Essayons de voir de plus pr les fichiers gnrs par startproject

35

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Les fichiers dun projet Django


__init__.py : un fichier vide qui indique Python que ce

rpertoire doit tre considr comme un package. manage.py : est une commande de ligne qui permet dinteragir avec ce projet Django. settings.py : paramtrage / configuration du projet Django. urls.py : les dclarations URL pour ce projet. Il contient la table des matires des URLs.

36

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Dmarrer le serveur Django


Pour vrifier si le serveur fonctionne, nous nous plaons dans le rpertoire gnrer par startproject et lanons la commande suivante : python manage.py runserver

Nous venons de dmarrer le serveur Django

37

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Changement de port du serveur Django


Le port server Django par dfaut est 8000
Pour changer le port dexcution du serveur de dveloppement Django : python manage.py runserver 8080 Pour changer ladresse IP du serveur de Django, nous

passons largument IP la commande. Mais si nous voulons tre vus par tous les rseaux, nous excutons la ligne suivante : python manage.py runserver 0.0.0.0:8000

38

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Configurer la base de donnes


La configuration de la Base de Donnes du projet se

fait par la modification des lments par dfaut dans le fichier settings.py

39

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

O activer les applications Django


Toujours dans le fichier settings.py vers le fond du

fichier se trouve lINSTALLED_APP; cette variable contient le nom de toutes les applications Django actives. Par dfaut les applications disponibles sont :
django.contrib.auth : un systme d'authentification
django.contrib.contenttypes : un Framework pour les types de

contenu django.contrib.sessions : un Framework pour les sessions django.contrib.sites : un Framework pour la gestion de plusieurs sites avec une installation Django django.contrib.messages : un Framework de messagerie

Ces applications prcites font au moins usages dune table de la Base de Donnes.
40 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Comment gnrer la Base de Donnes


La base de donnes est gnre avec la commande suivante : python manage.py syncdb
Cette commande consulte la variable INSTALLED_APP

et gnre la BD conformment aux rglages dans le fichier settings.py. Dans le processus de cration de la BD un message vous sera demand pour crer un super compte du systme dauthentification.

Un coup dil la BD permet de voir les tables cres

conformment aux applications dans la variable INSTALLED_APP.


41 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Crer des modles pour app 1/3


Django est fourni avec un utilitaire qui gnre

automatiquement la structure de rpertoires de base d'une application. Nous pouvons crer une nouvelle app (une application web qui fait quelque chose) partout o on se trouve avec Django. Nous dcidons de la crer dans le rpertoire /mysite gnr auparavant. La commande suivante permet de crer une nouvelle app : python manage.py startapp polls

42

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Crer des modles pour app 2/3


__init__.py : indique Python que ce rpertoire doit tre

considr comme un package. models.py : contient les mta donnes de lapplication. tests.py : un exemple dapp de teste views.py : porte les liens vers les pages de lapplication.

43

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Crer des modles pour app 3/3


Ajoutons la nouvelle app parmi les donnes

dINSTALLED_APP puis retapons la commande python manage.py syncdb. Pour voir le code utilis pour gnrer la nouvelle table Etudiants et ses champs qui sont les classes dclares dans le fichier models.py, excutons la commande suivante : python manage.py sql etudiants

44

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Manipuler votre app depuis linterface iPython


la commande suivante nous permet de dialoguer avec

notre modle : python manage.py shell A nous de dialoguer avec la BD:


Importer les classes dcrivant le modle de nos tables dans la BD Lanons quelques requtes :
Afficher les enregistrements dans la table Etudiant : Etudiant.objects.all()

Crer un nouveau objet Etudiant : Enregistrer un objet dans la BD:

45

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Utiliser le site administrateur de Django


Dcommentez django.contrib.admin au niveau

dINSTALLED_APP dans le fichier settings.py De mme (radmin/,include(admin.site.urls)) au niveau durlpatterns dans le fichier urls.py Redmarrez le serveur : pyhon manage.py runserver puis tapez localhost:8000/admin/ avec un navigateur internet

46

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Rendre modifiable lapp etudiants par le site admin de Django


Crer un fichier admin.py dans le dossier /etudiants

puis y inscrire :

Modifier le formulaire du site admin : un exemple

47

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Crer ses pages admin perso


Afin de crer des interfaces, la premire chose faire est

de modifier la variable urlpatterns au niveau du fichier urls.py


Ajouter la fonction index dans le fichier views.py

Aller ladresse localhost:8000/etudiants/ aprs avoir

redmarrer le serveur
48 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Mettre ses donnes dans un Template 1/2


Editer la variable TEMPLATE_DIRS de settings.py en

ajoutant le chemin vers notre dossier Template (mytamplates) de votre projet

Puis rcrire les fonctions du fichier views.py

Enfin crer un fichier index.html dans le dossier


49 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

mytamplates

Mettre ses donnes dans un Template 2/2

50

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Web Framework Python : Django


Pour plus de dtails, consulter le lien suivant :

http://docs.django-fr.org/

51

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Web Framework Java : Struts


http://igm.univ-mlv.fr/~dr/XPOSE2003/COPIN/

52

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Solution dentreprises
Il existe deux solutions darchitecture logicielle :
ERP (Enterprise Resource Planning) ou PGI (Progiciels de

Gestion Intgrs) : elle intgre trois aspects que sont :

la communication entre lentreprise et ses clients (Business To

Costumer, B2C), le fonctionnement interne de lentreprise (Business To Employer, B2E), la relation de lentreprise avec ses diffrents partenaires et fournisseurs (Business To Business, B2B).
CRM (Costumer Relationship Management) : elle est
la gestion des prospects (potentiels clients), la gestion des clients et de leurs achats, le reporting.

associe aux techniques de marketing moderne. Elle propose des fonctionnalits telles que:

53

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

PGI
Les ERP sont principalement destins aux grandes

entreprises car leur implmentation ncessite un cot important. Les avantages de la mise en place dun ERP sont :
lintgrit et lunicit du systme dinformation : il

permet dviter la redondance de linformation entre les diffrentes SI de lentreprise; la mise jour des donnes en temps rel : elle se propage tout module concern; la multilingue et la multidevise : car il sadapte au march mondial; la synchronisation des traitements et optimisation des processus de gestion.
54 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

PGI
Cependant il renferme certains inconvnients :
risque organisationnel : le progiciel et lorganisation

doivent cohabiter; mise en uvre : formation des utilisateurs; risques conomiques : du fait de sa complexit do linvestissement quil utilise

55

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Intgration des dpartements avec une architecture PGI ou ERP


Budget Engagements Comptabilit tiers Immobilisations Analytique industrielle Donnes techniques

Finance

Comptabilit analytique

Comptabilit gnrale

Ecommerce

Configurateur
Contrle de gestion

PGI
Base de donnes unique
Stocks Outils de pilotage

Ventes
Campagne marketing

Assurance qualit

Production

Commerce Marketing

CRM
Achats

Action commerciale

Planification Ordonnancement Rapprovisionnements Support client

56

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Source : Adonix

Architecture physique dun PGI


services client n client 2

Reporting Module de gestion de relation client

client 1

serveur ERP base de donnes Ex : ORACLE

57

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Architecture modulaire dun PGI

58

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Caractristiques dun PGI


1. 2. 3. 4. 5.

Exploitation dune base de donnes unique. Fonctionnalits intgrant tous les champs de la gestion. Grande capacit de paramtrage. Outil daide la dcision. Architecture informatique ouverte.

59

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

1- Exploitation dune base de donnes unique


On distingue trois tapes historiques dans lvolution du systme dinformation de gestion : a. des applications indpendantes; b. des interfaces spcifiques pour chaque module; c. lintgration des fonctionnalits avec un PGI.

60

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

a - Des applications indpendantes


P R O D U C T I O N C O M M E R C I A L
F I N A N C E S C O M P T A B I L I T E

61

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

a - Des applications indpendantes

Un systme dinformation existe pour chaque fonction;


Chaque fonction, (commerciale, production, recherche - dveloppement, comptabilit finances, ressources humaines ) dispose de sa propre base de donnes; Exemple : Les donnes concernant un client (code, nom, adresse) peuvent diffrer de lapplication comptable lapplication commerciale.

62

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

b- Des interfaces spcifiques


P R O D U C T I O N C O M M E R C I A L F I N A N C E S C O M P T A B I L I T E

63

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

b- Des interfaces spcifiques


Puis des interfaces spcifiques ont instaur une

communication entre les diffrents modules. Lutilisateur prend linitiative de mettre jour les bases des autres modules par un transfert ponctuel des donnes.
Exemple : mise jour des critures comptables partir

du module commercial.

64

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

c- Lintgration dans un PGI


F O

N
C T I O

N
S
65

P R O D U C T I O N

C O M M E R PROCESSUS C I A L

F I N A N C E S

C O M P T A B I L I T E

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

c- Lintgration dans un PGI


Une donne est saisie, une seule fois, au moment de

lvnement qui la gnre. Elle est disponible en temps rel pour lensemble des utilisateurs (autoriss) de la base unique, commune tous les modules. La base de donnes relationnelle permet dviter les redondances.

66

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

2- Fonctionnalits intgrant tous les champs de la gestion


Les modules PGI couvrent lensemble des activits de

lentreprise. La richesse des fonctionnalits des modules et lintgration des donnes permettent une approche globale de la gestion.

67

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le PGI permet notamment :


une trs forte automatisation des tches rptitives ; une structuration complexe, multiaxes et multi-

hirarchiques de lanalyse de gestion ; la planification des tches de gestion et le suivi des oprations en cours ; les oprations de consolidation des comptabilits dans les groupes de socits ; la gestion des procdures de contrle des oprations (workflow).

68

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le PGI permet aussi :


de rpondre des besoins spcifiques chaque

entreprise : module datelier de gnie logiciel; de sadapter de nouveaux champs de la gestion :


la gestion de la relation clients (CRM),

la gestion des comptences en relations humaines


la gestion de la chane logistique.

69

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

3- Grande capacit de paramtrage


Paramtrage de la base de donnes pour

ladapter aux mtiers et aux pratiques spcifiques de lentreprise. Paramtrage de lespace personnel de chaque poste de travail :
autorisations daccs; environnement graphique personnalis; traabilit des oprations.

70

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

4- Outil daide la dcision


Le PGI donne au contrle de gestion les moyens de

son dveloppement :
utilisation du langage de requte SQL des bases

relationnelles Oracle, SQL Server, DB2 communication par larchitecture de base en client/serveur cration dtats et tableaux de bord adapts aux besoins de lutilisateur.

71

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

5- Architecture informatique ouverte


Larchitecture informatique intgre des technologies

diverses et avances :
lutilisation dun rseau multi-sites;

lintgration est ralise par un rseau Intranet/Extranet.


la consultation et la modification dcentralises de la

base de donnes en utilisant les connexions Internet.

72

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Architecture informatique dun PGI


Windows Linux MacOs Oracle SQLserver DB2

Clients PGI mode Client / Serveur

Serveur dapplication

Serveur de donnes

Windows NT/2000 Unix / MacOs Internet Explorer Firefox Opra Internet Explorer Netscape Navigator

Serveur Internet
Apache ou IS Windows NT / 2000

Clients PGI mode web

Site Web

Clients e-commerce

73

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Source : Adonix

Architecture gnrale dun PGI


Clients e-commerce Partenaires
Distributeurs, Fournisseurs, Sous-traitants

Site Internet
Connexions Client / Serveur

Sites
dcentraliss
Filiales, Entrepts, Agences

ERP
Connexions Internet Connexions Intranet

Personnel
nomade
74 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Source : Adonix

Conclusion sur les ERP ou PGI


La mise en place dun projet PGI est dabord un

projet organisationnel. Au-del de la complexit technique des matriels et logiciels mis en service, lintroduction dun PGI entrane :
la remise en cause des comptences et des mtiers; une redfinition des jeux de pouvoir; une volution de la culture de lentreprise et de son

systme de valeurs.

75

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Costumer Relationship Management


Le CRM est associ aux techniques de marketing moderne, du

coup les entreprises ne peuvent plus chapper ces technologies et outils. En effet, un CRM dpasse l'approche marketing traditionnelle focalise sur la relation entre un produit/service et son client ou encore la notorit et l'image de marque. Grce aux nombreuses fonctionnalits offertes par le CRM telles que la gestion des prospects, gestion des clients et de leurs achats, de reporting,... Il est possible pour l'entreprise de personnaliser l'offre, sous forme de publicits ou encore d'emails afin de fidliser un maximum le client, d'amliorer leur satisfaction et par la mme occasion d'accrotre l'efficacit des employs et par consquent d'augmenter les ventes.
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

76

Service Oriented Architecture


SOA peut signifier diffrentes choses selon le

groupe de personnes:
ses clients et partenaires ou tout autre organisation;

Business Executive, Analyst

une configuration de services quune entreprise veut montrer


Architect

un modle architectural qui exige la fourniture de services

caractriss par la modularit, lencapsulation, le couplage lger entre module, la rutilisation;


Developer

un modle de programmation avec des standards, des outils et

des technologies comme les services web;

77

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Problmatique de lintgration en entreprise


Entreprises dcoupes en dpartements fonctionnels y

compris le systme d'information (SI) Processus mtiers des entreprises de + en + multidpartementaux

Cots considrables dans la gestion des flux entre

dpartements et dans lintgration de leurs SI

Problmatique de lintgration en entreprise


Les entreprises doivent sadapter en permanence et tre de + en + ractives aux variations des marchs (fusions, acquisitions, scissions, diversification des offres commerciales, changement technologiques, ) Leurs SI ne doivent pas tre un frein ces changements

Cest lactivit qui pilote la technologie et non linverse

Hier : plat de spaghettis

Dveloppements coteux Interconnexions redondantes (point point) Grande complexit Maintenance difficile

Demain : Architecture urbanise

Lurbanisation informatique dfinit l'organisation dun SI limage

dune ville

o dcouper le SI en modules autonomes (zone, quartier, lot, bloc) o localiser les zones dchange dinformations (routes, ponts, tunnels) qui

permettent de dcoupler les diffrents modules

Lurbanisation a pour objectif de faire voluer le SI et sa

composante informatique au mme rythme que la stratgie et l'organisation des mtiers de l'entreprise.

e-commerce : Couches
AccountController
Default SignOut Presentation Layer My Account Edit Account Create Account SignIn Search Category Items Item Details Shopping Cart Help Error

CartController

Check out

Order Billing

Order Shipping

Order Process

Business Logic Layer

Account

Profile

Product

Item

Inventory

Cart

OrderInsert

OrderRead

Data Access Layer

IAccount

IProfile

IProduct

IItem

IInventory

IOrder

e-commerce : Domaines
Default SignOut Presentation Layer My Account Edit Account Create Account SignIn Search Category Items Item Details Shopping Cart Help Error

Check out

Order Billing

Order Shipping

Order Process

Business Logic Layer

Account

Profile

Product

Item

Inventory

Cart

OrderInsert

OrderRead

1.0 1.1

1.0 2.0

10.0 11.2

5.1 5.2

1.0 6.0

1.2
Data Access Layer IAccount IProfile

3.5
IProduct IItem

11.5
IInventory

5.3
IOrder

7.0

Catalog

Inventory

Shopping

Billing

e-commerce : Domaines
Presentation Layer

Business Logic Layer

Data Access Layer

Catalog

Inventory

Shopping

Billing

e-commerce : Services
Presentation Layer

Business Logic Layer

Service Layer

Manage Customer

Show Catalog

Make Inventory

Shop

Bill

Data Access Layer

Principes fondamentaux de larchitecture SOA


Il nexiste pas une recette pour garantir le succs de la mise en place dune SOA mais des principes respecter :
Discussion entre mtier et IT Utilisation des use case mtier

Utilisation de standards Pas de remise en cause de lexistant lors dvolutions

technologiques

Dcouplage entre fournisseur et consommateur de

services Indpendance des ressources vis vis de ceux qui les utilisent

Quest ce quun Service (au sens SOA) ?


Partage les caractristiques suivantes dun objet Modulaire (ensemble de fonctionnalits qui font sens)

Partage les caractristiques suivantes dun composant Boite noire (sparation interface/implmentation) Indpendant de la localisation Neutralit vis--vis des protocoles de transport
Correspond un primtre fonctionnel que lon souhaite

exposer des consommateurs (il a une granularit plus forte quun composant) Est faiblement coupl (indpendant des autres services) Expose un petit nombre doprations offrant un traitement de bout en bout Sans tat

4 proprits du service retenir


Un Service est Autonome Un Service expose un Contrat

in out

Conditions Gnrales de Vente Rglement Intrieur Vos droits/Vos devoirs

Les Frontires entre services Les services communiquent par

sont Explicites

messages

Gestion de prts en couplage fort


Entits
LoanAgent LoanApproval Account Loan SMSGateway
calculateRisk

checkCredit

createLoan sendConfirmation

LoanAgent est li LoanApproval et Loan LoanApproval est li Account Loan est li SMSGateway

Gestion de prts en couplage faible


Services
Calculate LoanRisk LoanProcess

CheckAccount Balance

CreateLoan

Notify ViaSMS

Quest ce que LoanProcess ? Un processus mtier !

Il permet dorchestrer les services => couplage lche

Planifier
Avant de commencer un projet, il est indispensable

de planifier pour ne pas avoir de mauvaises surprises. Il convient ainsi de :


fixer vos objectifs en se posant les bonnes questions, identifier le public cible, produire un cahier des charges, nhsiter pas aller voir ce que font vos concurrents

ou partenaires

91

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Rdaction dun cahier des charges (CC) 1/5


Quels sont les principaux lments dont il faut

tenir en compte pour la rdaction dun cahier des charges dans le cadre dun dveloppement dapplication informatique. Place du CC dans le projet est de dfinir :
les objectifs mesurables atteindre, des ressources requises, de la planification de la mise en uvre, des outils dvaluation, des mthodes de contrle.
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

92

Rdaction dun cahier des charges (CC) 2/5


Deux cas de figure soffre nous :
imposer une solution, des spcifications dtailles,

un outil ou un produit; dcrire uniquement les fonctionnalits souhaites en faisant le choix de la solution adopter.
Positionnement et objectifs du projet au sein de

lentreprise et dans le march


importance stratgique et conomique fourniture matriel informatique et/ou logiciel,

main duvre, rseau informatique


Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

93

Rdaction dun cahier des charges (CC) 3/5


Spcifications applicatives:
le contenu des crans de lutilisateur final, le contenu des bases de donnes, les diffrentes transactions informatiques et leur

cheminement entre les utilisateurs et la base de donne, les traitements effectuer pour chaque transaction, les liaisons avec les applications existantes dans lentreprise (si elles existent), linterface utilisateur (le choix du navigateur, lemploi des langues, lergonomie, etc.).
94 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Rdaction dun cahier des charges (CC) 4/5


Spcifications techniques :
localisation des terminaux utilisateurs et des serveurs


95

informatiques, localisation des applications et des bases de donnes (lieux dhbergement, rpartition des processus applicatifs entre serveur et utilisateur) volumes (nombre et frquence des transactions entre les utilisateurs et les applications rsidant dans les serveurs) rseau reliant les utilisateurs et les serveurs (type, vitesse et performance des liaisons, disponibilit, support) architecture et fonctionnalit des serveurs (web, application, BD) outils de scurisation des transactions procdure de gestion de la maintenance matriel et logiciel volutivit de la solution (possibilits et cots) plan de formation des utilisateurs et des gestionnaires documentation requise

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Rdaction dun cahier des charges (CC) 5/5


Spcifications de ralisation: liste des contraintes

imposes par le client


standards techniques (hardware, langage de

dveloppement, format de fichiers, bases de donnes, etc.); standards propres lentreprise : documentation, mthode danalyse, outils de gestion des projets, de maintenance des applications, logiciels utiliss, etc.; ressources : rutilisation du cblage, du matriel existant, etc. le dlai des prestations
etc.
96 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Concevoir
Structurer et crer une arborescence cohrente
utiliser du papier ou des logiciels appropris pour

reprsenter la base du logiciel,


un logiciel Mind Map : freeMind permet de reprsenter un

projet ou une ide graphiquement, les organigrammes.

cela permet dviter des modifications du premier

niveau de lapplication ds ses premires annes,

97

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple de structure laide dun logiciel Mind Map

98

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple de structure laide dun organigramme

99

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Structuration des pages et modles en zones


Technique des maquettes en fil de fer
permet de structurer le contenu, force la rflexion, facilite la lecture en crant une structure de la page.

Ergonomie
ne pas essayer rinventer la roue, rassurer le lecteur une prsentation type, faciliter la navigation, pas de code compliqu, la page doit se comprendre

en elle-mme.
100 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple de zone appliqu un site

101

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple de modles en fil de fer : version papiers colls

102

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Procdure et rdiger
Identifier et classifier les contenus
quel contenu va dans quelle partie du logiciel ou

concerne quelle personne, quel contenu vais-je mettre et dans quel format, planifier dj la mise jour : quel contenu, par qui et quelle frquence.
Eviter les redondances
facilite la mise jour, limine les erreurs et incohrences, ainsi les liens sont privilgis.
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

103

Procdure et rdiger
Rdiger pour le web et pour tre lu :
forme pourquoi le web est diffrent : cran, lien, coup dil; phrases brves; contenu structur : titre, liste, etc.; mots mis en vidence, sobrit des couleurs. contenu technique du journal : lide principale au dbut; adaptez vous au public-cible : attention au jargon interne ou spcialis; oubliez lacadmie : crivez pour tre lu (abandon aprs 3 crans); pensez ce que le lecteur doit savoir en quittant.
104 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Visibilit dun site web


Google Tips : reprsente 90 95% (?) des moteurs

de recherche Quelques astuces pour que votre site soit correctement index: rf. les rgles dindexation de Google Tips
utiliser des termes cls; mise en valeur des lments <title>,<h1>, etc.; ne pas utiliser de contenu image ou flash la place

dun texte, il ne simule pas dinstruction JavaScript; la notorit est le nombre de pages lies la votre; etc.
Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

105

Visibilit dun site web


Quelques astuces pour optimiser votre placement :
bon rfrencement = mixe indexation / pertinence/

106

notorit; ne changer pas lurl dune page : ancienne = plus-value; respecter les consignes de rdaction et formater correctement votre texte; tre pertinent dans les termes utiliss; utiliser les standards web comme les blogs, les CMS; privilgier les liens entrants avec les termes pertinents du site; mettre le lien sur les termes prcis et non sur un petit bouton ct; etc.

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple de conception de site


Les objectifs lis la cration du site lecampusard sont multiples : fournir les anciennes preuves de devoirs et dexamens et leur

correction si possible, expliquer les dmarches administratives faire pour certaines choses qui concernent les tudiants permettre aux tudiants de passer des annonces de sollicitation de cours de renforcement dans leur spcialit, lies les personnes qui sollicites des cours de potentiels tuteurs fournir des liens vers des prinscriptions, donner accs des articles publis dans les diffrentes coles doctorales de luniversit,

Public vis : les tudiants; les chercheurs; les parents dtudiants ou dlves;

107

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Cot de dveloppement dun logiciel : le rseau de PERT


Le rseau de PERT (Program Evaluation and Review

Technique ie Technique dEvaluation et dExamen de Programme) est une technique de gestion de projet. Pert est aussi lquivalent de malicieux en anglais. Permet :
de visualiser la dpendance des tches, dordonnancer les tches, destimer le temps dimplmentation dun

programme.
108 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le Rseau de PERT : principes


On utilise un graphe de dpendance. Pour chaque tche, on indique une date de dbut

et une date de fin au plus tt et au plus tard. Le diagramme permet de dterminer le chemin critique qui conditionne la dure minimale du projet. Objectif : terminer un projet dans les meilleurs dlais en trouvant la meilleure organisation possibles et didentifier les tches critiques. Les tches critiques ne doivent souffrir daucun retard sous peine de retarder tout le projet.
109 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le Rseau de PERT : mis en uvre


Tche : Tche fictive : Numro tape Etape : DTt, FTt C40 indique le nom dune Tche C et sa dure 40

Dtard, FTard

110

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

on calcule deux valeurs pour chaque tape : la date au plus tt (Dtt,Ftt) : il sagit de la date laquelle une tche pourra tre commence au plus tt, en tenant compte du temps ncessaire lexcution des tches prcdentes. la date au plus tard (Dtard,Ftard): il sagit de date laquelle une tche doit tre termine obligatoirement sans quoi lensemble du projet sera retard.

Le Rseau de PERT : exemple


Reprsentons les tches suivants laide dun

diagramme de PERT :

a - tude, ralisation et acceptation des plans, b - prparation du terrain, c commande des matriaux, d creusement des fondations, e commande des portes et fentres, f livraison des matriaux, g construction des fondations, h livraison des portes et fentres, i construction des murs j mise en place des portes et fentres

111

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le rseau de PERT : niveau


Trouvons les diffrents niveaux :
1 a, b 2 c, e, d 3 f, h 4g 5i 6j

112

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le rseau de PERT : graphe

113

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le Rseau de PERT : consignes et calculs


Ne pas croiser les flches en traant

Pour dterminer la date au plus tt d'une tche, il faut

parcourir le diagramme de gauche droite et calculer le temps du plus long des chemins menant du dbut du projet cette tche. S'il y a plusieurs sous-chemins, on effectue le mme calcul pour chacun et on choisit la date la plus grande. Pour dterminer la date au plus tard d'une tche, il faut parcourir le diagramme de droite gauche, et soustraire de la date au plus tard de la tche suivante la dure de la tche dont on calcule la date au plus tard. S'il y a plusieurs sous-chemins, on effectue le mme calcul pour chacun et on choisit la date la plus petite. La diffrence entre la date au plus tard et la date au plus tt d'une tche s'appelle la marge totale.
114 Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le Rseau de PERT :chemin critique


On dit qu'une tche de A vers B est critique si la

diffrence entre la date au plus tard de B et la date au plus tt de A est gale la dure de la tche accomplir. L'ensemble des tches critiques constitue le chemin critique, c'est--dire le chemin sur lequel aucune tche ne doit avoir de retard pour ne pas retarder l'ensemble du projet.

115

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le Rseau de PERT : chemin critique

116

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le Rseau de PERT : chemin critique


NB:
un projet peut avoir plusieurs chemins critiques, un chemin est sous-critique lorsque sa dure est trs

proche de la dure du chemin critique. Il suffirait d'un lger retard, de N jours ou semaines, d'une tche de ce chemin sous-critique pour que ce chemin devienne critique. la marge libre d'une tche T est le dlai de retard maximum que l'on peut apporter la mise en route de cette tche, sans pour autant que les tches suivantes en soient affectes. Elle est gale la diffrence entre :
la plus petite date au plus tt des tches suivantes la date au plus tt de la tche T, laquelle on rajoute sa dure

117

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Les tapes dun Rseau de PERT


Premirement : recenser les tches et leurs

antcdents directs, -Tableau 1 Deuxime : renseigner le tableau des successions, Tableau 2 Troisimement : dessiner le diagramme.

118

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple appliqu la cuisson dun gteau mringu

119

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Exemple appliqu la cuisson dun gteau meringu (suite)

120

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Le diagramme de GANTT
Passer dun enchanement PERT un

calendrier Affecter les ressources Utiliser les marges pour des chargements au plus tt et au plus tard.
Application : utilisons le logiciel OpenProj

libre ou MS Project de Microsoft

121

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

REMARQUES ET SUGGESTIONS

122

Architectures Logicielles - Licence TlInfo ESP/UCAD - avril 2012

Vous aimerez peut-être aussi