ENSGI 2A MSI - Démarche
1Michel Tollenaere
version 1.1 du 27 novembre 2005
Compléments sur
Le M.O.T. modèle organisationnel de traitement
L’architecture des SI
La démarche et les livrables du projet.
http://gilco.inpg.fr/~tollenaere/msi/diaporamas/cours2005-11-29.ppt
ENSGI 2A MSI - Démarche
2Michel Tollenaere
version 1.1 du 27 novembre 2005
Modèle Organisationnel de Traitements (MOT) de Merise
• Enchaînement des opérations ou taches• condition d’enchaînement• acteur affecté (qui ?)• période de traitement (quand ?)
ENSGI 2A MSI - Démarche
3Michel Tollenaere
version 1.1 du 27 novembre 2005
MCT de Merise : Modèle conceptuel de traitement
• Définition des activités et conditions d’enchaînement• définition des évènements• définition des données ou objets échangés• conditions de déclenchement des activités• alternatives d’exécution
ENSGI 2A MSI - Démarche
4Michel Tollenaere
version 1.1 du 27 novembre 2005
• évènements d’évolution
• activités et conditions d’enchaînement conditions de déclenchement des activités • alternatives d’exécution
ENSGI 2A MSI - Démarche
5Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
6Michel Tollenaere
version 1.1 du 27 novembre 2005
En vérification
Voile abiméeempruntée
RamenéeDisponible
Emprunt En réparation
Voile OK
Rebut
Voile OK
Complémentarité MOT / diagramme états transitions
ENSGI 2A MSI - Démarche
7Michel Tollenaere
version 1.1 du 27 novembre 2005
Architecture des SI
• répartition des traitements• Interfaces Html• Base de données et Internet• client / serveur
ENSGI 2A MSI - Démarche
8Michel Tollenaere
version 1.1 du 27 novembre 2005
Architecture des SI
poste client
serveur de données
serveur de traitements
poste client
RéseauxRéseaux
ENSGI 2A MSI - Démarche
9Michel Tollenaere
version 1.1 du 27 novembre 2005
Architecture des SI
poste client
poste client
Intranet / Intranet / InternetInternet
InternetInternet
serveur de données
Sécurité ?
Authentification des utilisateurs
Ldap ou système ou système propriétaire ?propriétaire ?
ENSGI 2A MSI - Démarche
10Michel Tollenaere
version 1.1 du 27 novembre 2005
Architecture des SI
poste client
poste client
Intranet / Intranet / InternetInternet
InternetInternet
serveur de données
Authentification des utilisateurs
Ldap
Les capacités et débits réseaux sont très hétérogènes.
ENSGI 2A MSI - Démarche
11Michel Tollenaere
version 1.1 du 27 novembre 2005
Répartition des données et traitements
client serveur
Les données pour partageCertains traitements
Certains traitementsAu moins écran, souris …
Exemple :
Page WEB perso sur ensgi5Navigateur IE5
BD Access partagée sur ensgi5
Logiciel Access
BD MySQL partagée sur ensgi + php
Navigateur IE5 ou Netscape
Volume et format des données qui transitent
Volume et format des données qui transitent
Volume et format des contrôles qui transitent
ENSGI 2A MSI - Démarche
12Michel Tollenaere
version 1.1 du 27 novembre 2005
Répartition des données et traitements
client
Certains traitementsAu moins écran, souris …
serveurs de données réparties
serveurs de traitements
….
Liens ODBC
serveurs de fichiers
ENSGI 2A MSI - Démarche
13Michel Tollenaere
version 1.1 du 27 novembre 2005
Répartition des données et traitements
client
Données Access
Traitement 1 AccessSQL et
formulaires
….
Liens ODBC
serveurs de fichiers : Gros volumes (edition, PAO,
CAE, CFAO)
Traitement 2 Access
Traitement n serveur WEB
• Table 1• Table 2• ……
• Table 11• Table 12• ……
ENSGI 2A MSI - Démarche
14Michel Tollenaere
version 1.1 du 27 novembre 2005
Architecture 3-tier, n-tier
client
Données
….
Liens ODBC
serveurs de fichiers : Gros volumes (edition, PAO,
CAE, CFAO)
Traitement 2Gestion de prod
serveur WEB
• Table 1• Table 2• ……
• Table 11• Table 12• ……
Traitement nSRM
Traitement 1 CRM
1er-tier
2nd-tier
3eme-tier
Comment
partager les
gros fichiers ?
ENSGI 2A MSI - Démarche
15Michel Tollenaere
version 1.1 du 27 novembre 2005
Gestion de données, processus et fichiers
Gestion centralisée des méta-données
Serveur local de fichiers : Gros
volumes (edition, PAO, CAE, CFAO)
SGBD métadonnées et processus
Site 1
Site 2
Serveur local de fichiers : Gros
volumes (edition, PAO, CAE, CFAO)
Serveur central de fichiers : Gros volumes (edition, PAO, CAE,
CFAO)
Réplication
RéplicationRéplication à la demande Réplication
à la demande
Accès controlé par le SGBD central par un
check-out Contrôle des
mécanismes de transfert FTP
ENSGI 2A MSI - Démarche
16Michel Tollenaere
version 1.1 du 27 novembre 2005
LES TECHNOLOGIES DU WEB
1. LES PHASES D ’UN DEPLOIEMENT DE RESEAUX
2. LE LANGAGE HTML
3. LE LANGAGE JAVASCRIPT
4. LE LANGAGE JAVA ET LES APPLETS
5. LES SERVLETS
6. L ’ACCES AUX BASES DE DONNEES VIA ODBC
ENSGI 2A MSI - Démarche
17Michel Tollenaere
version 1.1 du 27 novembre 2005
1. LES PHASES D ’UN DEPLOIEMENT DE RESEAUX
INFRASTRUCTURE : RESEAU, MESSAGERIE, FORUMS, ACCES @
PUBLICATION D ’ INFORMATIONS STATIQUES
TRAVAIL EN GROUPE : APPLICATIONS DE COMMUNICATION, DE COORDINATION OU DE COLLABORATION DE GROUPES
APPLICATION METIER : APPLICATIONS A COMPOSANTS REPARTIS
COMMERCE ELEC. : APPLICATIONS ACCESSIBLES AUX CLIENTS/FOURNISSEURS
PUBLICATION : INFORMATIONS DYNAMIQUES
Présentations des produits, Catalogues, Annuaires, Résultats etc
Connexion aux systèmes d ’informations de l ’entreprise : base produits, stocks
Gestion des projets, gestion de la qualité, affectation des ressources, procédures élémentaires etc
Applications répondant à des logiques « métiers » utilisant une approche distribuée
Source : « Lyon Consultants »
ENSGI 2A MSI - Démarche
18Michel Tollenaere
version 1.1 du 27 novembre 2005
2. LE LANGAGE HTML [1/2]
<HTML>
<HEAD>
<TITLE>Annuaire du labo PL</TITLE>
</HEAD>
<BODY>
<H3>voici la liste du personnel du laboratoire PL</H3>
…
</BODY>
</HEAD>
</HTML>
EN-TETE : permettant de déclarer le titre de la page, la langue, le jeu de caractères utilisé, les mots-clefs utilisés lors d ’une indexation par un moteur de recherche etc
CORPS : description de la mise en page et du contenu de la page
LE LANGAGE HTML PERMET :
- de définir la mise en page statique de différents éléments multimédias : textes, tableaux, images, sons etc
- de définir le contenu « texte » de la page
LE LANGAGE HTML NE PERMET PAS :
- de dissocier mise en page et contenu d ’une page
- d ’utiliser explicitement les ressources du client
- d ’utiliser les ressources du serveur
- d ’accéder directement aux informations disponibles sur le client ou sur le serveur
ENSGI 2A MSI - Démarche
19Michel Tollenaere
version 1.1 du 27 novembre 2005
2. LE LANGAGE HTML [2/2]
CLIENTSERVEUR
Requête : http://www.pl.ecp.fr/annuaire.htm
Envoi de : annuaire.html
annuaire.html
recherche
lecture
Interpréteur HTML
Plug-In
Image.gif
Scene.wrl
ENSGI 2A MSI - Démarche
20Michel Tollenaere
version 1.1 du 27 novembre 2005
3. LE LANGAGE JAVASCRIPT [1/3]
mini-applications Pré-traitement des donnéesEnrichissement de la page
1
2368.5
2369.5
+
Zône de texte défilante
Élément réactif à un survol
NOM
PRENOM
ENVOI
(avec contrôle des champs)
LE LANGAGE JAVASCRIPT PERMET :
- d ’avoir accès à certaines variables d ’environnement du client : type de navigateur, historique de la connexion
- de réaliser des traitements sur les éléments d ’un formulaire : contrôle d ’une entrée, concaténation
- de réaliser des programmes avec tests, itération etc
LE LANGAGE JAVASCRIPT NE PERMET PAS :
- de définir des types de variables ou des structures de données
- de définir des variables globales accessibles tout au long de la connexion (une variable est associée à une page)
- d ’accéder directement aux ressources ou informations du client ou du serveur
- n’est pas compatible avec TOUS les navigateurs
ENSGI 2A MSI - Démarche
21Michel Tollenaere
version 1.1 du 27 novembre 2005
3. LE LANGAGE JAVASCRIPT [2/3]
<HTML>
<HEAD>
<TITLE>Annuaire du labo PL</TITLE>
<SCRIPT LANGUAGE=« JavaScript »>
function traitement()
{
…
}
</SCRIPT>
</HEAD>
<BODY>
<H3>voici la liste du personnel du laboratoire PL</H3>
...
<INPUT TYPE=« button » VALUE=« ENVOYER » ONCLICK=« traitement() »>
...
</BODY>
</HEAD>
</HTML>
DECLARATION DE LA FONCTION
APPEL DE LA FONCTION GRÂCE A UN ELEMENT HTML
ENSGI 2A MSI - Démarche
22Michel Tollenaere
version 1.1 du 27 novembre 2005
3. LE LANGAGE JAVASCRIPT [3/3]
CLIENTSERVEUR
Requête : http://www.pl.ecp.fr/calcul.htm
Envoi de : calcul.html
recherche
lecture
Envoi de : calcul.html
Interpréteur HTML
Interpréteur JavaScript
ENSGI 2A MSI - Démarche
23Michel Tollenaere
version 1.1 du 27 novembre 2005
4. LE LANGAGE JAVA [1/4]
PC MAC
UNIXWINDOWS MAC - OS
SUN
MACHINE VIRTUELLE
JAVA
MACHINE VIRTUELLE
JAVA
MACHINE VIRTUELLE
JAVA
CLASSE JAVA
FICHIER « PRE- COMPILE »
« COMPILATEUR JAVA »
ENSGI 2A MSI - Démarche
24Michel Tollenaere
version 1.1 du 27 novembre 2005
4. LE LANGAGE JAVA [2/4]
applications Enrichissement de la page
1
2368.5
2369.5
+ ANIMATION
LE LANGAGE JAVA EST :
- un langage orienté objet dérivé du C++ (mais pas d’héritage multiple, pas d’arithmétique sur les pointeurs)
- un langage sécurisé
UNE APPLET JAVA NE PERMET PAS :
- d ’accéder directement aux ressources ou informations du client ou du serveur
ENSGI 2A MSI - Démarche
25Michel Tollenaere
version 1.1 du 27 novembre 2005
4. LE LANGAGE JAVA [3/4]
<HTML>
<HEAD>
<TITLE>Annuaire du labo PL</TITLE>
</HEAD>
<BODY>
…
<APPLET CODE=« courbe.class » WIDTH=200 HEIGHT =50>
</APPLET>
...
</BODY>
</HEAD>
</HTML>
APPEL DE L ’APPLET DEFINIE DANS LE FICHIER COURBE.CLASS
ENSGI 2A MSI - Démarche
26Michel Tollenaere
version 1.1 du 27 novembre 2005
CLIENTSERVEUR
Requête : http://www.pl.ecp.fr/courbe.htm
Envoi de : calcul.html
courbe.class
recherche
lecture
Interpréteur HTML
4. LE LANGAGE JAVA [4/4]
Machine virtuelle java
calcul.html courbe.class
ENSGI 2A MSI - Démarche
27Michel Tollenaere
version 1.1 du 27 novembre 2005
5. LES SERVLETS JAVA [1/2]
CLIENT SERVEUR
Requête : http://www.pl.ecp.fr/index.shtml
Envoi de :
page générée par compteur.cgi
recherche
Interpréteur HTML
Index.shtml
Execution sur machine virtuelle
Génération d ’une page
compteur.class
ENSGI 2A MSI - Démarche
28Michel Tollenaere
version 1.1 du 27 novembre 2005
5. LES SERVLETS JAVA [2/2]
<HTML>
<HEAD>
<TITLE>Annuaire du labo PL</TITLE>
</HEAD>
<BODY>
…<SERVLET NAME=« compteur.class »><PARAM NAME=« numero » VALUE=« 1 »></SERVLET>...
</BODY>
</HEAD>
</HTML>
APPEL DE LA SERVLET COMPTEUR.CLASS
PRESENTE SUR LE SERVEUR
LES SEVLETS JAVA PERMETTENT :
- d ’accèder aux paramètres de la connexion : numéro IP, types MIME supportés etc
- d ’utiliser les ressources du serveur
- de définir des applications multi-plateformes
- de prendre en charge les problèmes de sécurité
LES SERVLES JAVA NE PERMETTENT PAS:
- d ’utiliser les ressources ou informations du client
ENSGI 2A MSI - Démarche
29Michel Tollenaere
version 1.1 du 27 novembre 2005
6. L ’ACCES AUX BASES VIA ODBC [1/2]
CLIENT SERVEUR
Requête : http://www.pl.ecp.fr/base.shtml
Envoi de :
page générée par
dbCollect.class
recherche
Interpréteur HTML
base.shtml
Execution sur machine virtuelle
Génération d ’une page
dbCollect.class
PILOTE ODBC
BASE DE DONNEES
ENSGI 2A MSI - Démarche
30Michel Tollenaere
version 1.1 du 27 novembre 2005
6. L ’ACCES AUX BASES VIA ODBC [2/2]
<HTML>
<HEAD>
<TITLE>Annuaire du labo PL</TITLE>
</HEAD>
<BODY>
…<SERVLET NAME=« dbCollect »><PARAM NAME=« DBNAME » VALUE=«jdbc:odbc:mabase» ><PARAM NAME=« TABLE> VALUE=« matable »></SERVLET>...
</BODY>
</HEAD>
</HTML>
APPEL DE LA SERVLET COMPTEUR.CLASS
PRESENTE SUR LE SERVEUR
LES PILOTES ODBC PERMETTENT :
- de consulter ou de modifier des bases via des requêtes SQL
- de créer des applications portables (Oracle & Access proposent des pilotes ODBC)
ENSGI 2A MSI - Démarche
31Michel Tollenaere
version 1.1 du 27 novembre 2005
7. Environnement PHP / MySQL
Scripts [527]
Administration BDD [23] Agenda / Calendrier [9]
Annuaire de liens [19] Audio [2]
Authentification [14] Bannières [9]
Cartes Postales [2] Chat [9]
Clients Mail [5] Commentaires [3]
Compteurs [42] Convertisseurs [5]
Dates / Heures [11] Divers [29]
E-Commerce [6] Education [2]
FAQ / Docs [6] Formulaires / Email [21]
Forums [38] Galeries / Images [27]
Gestion [21]
Gestion de fichiers / FTP [16] Groupware [4]
ICQ [4] Jeux / Détente [8]
Librairies / Classes [25] Livres d'or [25]
MailingList / NewsLetter [11] Menus [5]
Messageries internes [3] Moteurs de recherche [14]
News [32] Petites Annonces [5]
Portails [23] Recommander un site [5]
Sondage / Vote [21] Statistiques [12]
Top Sites [7] Vidéo [2]
Web Rings [2]
Logiciels libres permettant le développement de contenus accessibles en Internet/ Intranet
Bibliothèques
ENSGI 2A MSI - Démarche
32Michel Tollenaere
version 1.1 du 27 novembre 2005
7. Environnement PHP / MySQL
ENSGI 2A MSI - Démarche
33Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
34Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
35Michel Tollenaere
version 1.1 du 27 novembre 2005
Gestion du projet (4h TD, 8h TP)
• Livrables (quoi, quand)• Ressources (2 étudiants/projet)
ENSGI 2A MSI - Démarche
36Michel Tollenaere
version 1.1 du 27 novembre 2005
1Analyse de la demande
Temps
2Spécification
projet
3Conception
générale
4Conception
détaillée
5Réalisation
6Mise en oeuvre
Déploiement
7Maintenance
Etapesou phases
Documents Schéma directeur
Etude d ’opportunité
Dossier d ’étude préalable
Dossier de
planification
Décisions
Dossierde
conception
Dossier de
conceptionfonctionnelle
détaillée
Dossier de conceptiontechniquedétaillée
Cycle de vie d’un projet S.I.
Code
Accord sur l’inscription
du projet
Dossierd ’architecture
Choix d’une organisation
du projet
Accord sur les procédures,
l ’architecture ...
Recette logicielle
Réception système
Manuelsutilisateurs
Formation - TutoratCapture des besoins
ENSGI 2A MSI - Démarche
37Michel Tollenaere
version 1.1 du 27 novembre 2005
Spécification
Branche conception Branche réalisation
Dossiers de validation
Codage des modules
Plan de tests
unitaires
Plan de tests d ’intégration
Intégration
Plan de tests de recette
Spécifications de domaine
Spécifications Conceptuelles
Spécifications Logiques
Spécications Techniques
de Réalisation
Cycle en V dans le développement d’un SI
Validation
Conception générale
Conception détaillée
Tests
unitaires
Etude d’opportunité
Mise en charge
Plan de tests en service
ENSGI 2A MSI - Démarche
38Michel Tollenaere
version 1.1 du 27 novembre 2005
Cas d’utilisation
une fonctionnalité attendue du système (VEGA2) par les différents acteurs.
cas d'utilisation : acteur (intéragissant
avec VEGA2)
Système (VEGA2)
message
messagemessage
message
Diagramme de séquence
Chaque cas d'utilisation apparaît comme un scénario, décrit par un ou plusieurs diagrammes de séquence.
Un diagramme de séquences montre les interactions entre les acteurs et le système selon un point de vue
temporel pour accomplir une fonctionnalité attendue du système (un cas d ’utilisation). C’est une ensemble de
messages échangés entre les acteurs et le système, ordonnés chronologiquement.
Diagramme de Classes
objet 1
objet 3
objet 2 objet 4
lien exprimant que "objet 2 est
composé de objet 3"
lien exprimant que "objet 2 a une relation avec objet 4"
lien exprimant que "objet 2 est une sorte de objet 1"
Exemples : Quelques diagrammes
ENSGI 2A MSI - Démarche
39Michel Tollenaere
version 1.1 du 27 novembre 2005
Modèles de cycle de développement
• Cycle en V• RAD
ENSGI 2A MSI - Démarche
40Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
41Michel Tollenaere
version 1.1 du 27 novembre 2005
Spécification
Branche conception Branche réalisation
Dossiers de validation
Codage des modules
Plan de tests
unitaires
Plan de tests d ’intégration
Intégration
Plan de tests de recette
Spécifications de domaine
Spécifications Conceptuelles
Spécifications Logiques
Spécications Techniques
de Réalisation
Cycle en V dans le développement d’un SI
Validation
Conception générale
Conception détaillée
Tests
unitaires
Etude d’opportunité
Mise en charge
Plan de tests en service
I.H.M.
SQL
ENSGI 2A MSI - Démarche
42Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
43Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
44Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
45Michel Tollenaere
version 1.1 du 27 novembre 2005
ENSGI 2A MSI - Démarche
46Michel Tollenaere
version 1.1 du 27 novembre 2005
Exemple : gestion de ressources, salles, etc….
Les rôles : • utilisateur de ressources (avec possibilité de réservation)• programmateur de maintenance• utilisateur de ressources disponibles• gestionnaire des utilisateurs, des priorités et des droits
Les cas d’utilisation : • réserver type de ressources (dates, heures)• recopie d’une demande de réservation