Vous êtes sur la page 1sur 64

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique


Université ABDERAHMANE MIRA de BEJAIA
Faculté des Sciences Exactes
Département D’Informatique

Mémoire de fin DE CYCLE


En vue de l’obtention du diplôme de Master en Informatique

Option : Administration et Sécurité des Réseaux

Thème

Conception et réalisation d’un système d’information pour


la gestion d’une agence immobilière Cas d’étude : Agence
immobilière LE CAP

Sous la direction de : Mr. DEMOUCHE Mouloud

Réalisé par: Devant le jury :

Mlle. BOUMEZOUED Zahia Président : Mr .Aloui


Mlle. HADDAD Sonia Examinateur : Mr amade

2015 /2016
Remerciements
Nous tenons à remercier lieu le bon Dieu de nous avoir donné la force et
le courage pour accomplir ce modeste travail.

Notre profonde gratitude et sincères remerciements vont à notre


promoteur Mr Demouche, pour nous avoir confié ce travail, pour son suivi, sa
disponibilité, son orientation et ses conseils.

Nos remerciements vont aussi aux membres de jury qui ont accepté de
juger notre travail.

A tous nos enseignants et les membres du département informatique de


l’université ABDERAHMANE MIRA.

Nous n’oublions pas de remercier, vivement, tous ceux qui ont contribué,
de près ou de loin à la réalisation de ce mémoire de fin d’étude.

Merci à tous
Dédicaces

Je dédie ce modeste travail :

À mes chers parents, qui sont la cause de mon existence dans cette vie, pour leur

soutient, leur patience et leur amour qui m’ont donné la force pour continuer

mes études.

A mes frères et sœurs.

A mes amis(e).

A mes enseignants.

A toutes personnes qui nous ont apportés de l’aide.

Sonia

Je dédie ce travail à ma très chère fille Rafah et ma mère, à mon cher

mari, à ma précieuse famille, mes cousins et cousines, Oncles et tantes, à mes

amis et collègues, et à toutes les personnes que j’ai connues et qui m’ont aidé,

un grand MERCI à tous.

zahia
Table des matières

Introduction générale ........................................................................................................................... 1


Chapitre 1
Généralités
1. Introduction .................................................................................................................................. 2
2. Système d’information ................................................................................................................. 2
2.1. Définition............................................................................................................................. …2
2.2. Les fonctions du système d’information dans l’ntreprise ........................................................ 3
2.3. Une nouvelle lecture du système d'information ...................................................................... 5
2.4. Le rôle d’un système d’information ........................................................................................ 6
3. Les bases de données .................................................................................................................... 7
3.1. Définition d’une base de données............................................................................................ 7
3.2. Utilité d'une base de données .................................................................................................. 7
3.3. Les types de bases de données................................................................................................. 7
3.4. Les différents modèles de bases de données ........................................................................... 9
4. La gestion des bases de données ................................................................................................ 11
4.1. Système de gestion des bases de données ............................................................................. 11
4.2. Les trois sous-systèmes de SGBD : ....................................................................................... 11
4.3. Fonctionnalité d’un SGBD .................................................................................................... 12
4.4. Les caractéristiques d'un SGBD ............................................................................................ 13
4.5. Objectifs des SGBD .............................................................................................................. 14
5. Conclusion ................................................................................................................................... 14
Chapitre 2
Présentation de l’organisme d’accueil
1. Introduction ................................................................................................................................ 15
2. Présentation de l’organisme d’accueil ...................................................................................... 15
2.1. Historique ................................................................................................................................... 15
2.2. Organigramme de l’organisation globale .............................................................................. 16
2.3. Mission .................................................................................................................................. 17
3. Présentation du sujet .................................................................................................................. 17
3.1. Présentation globale de l’agence immobilière ........................................................................... 17
3.2. Problématique........................................................................................................................ 17
3.3. Objectif .................................................................................................................................. 18
4. Conclusion ................................................................................................................................... 18
Chapitre 3
Analyse et conception
1. Introduction ................................................................................................................................ 19
2. UML (Unified Modeling Language).......................................................................................... 19
2.1. Pourquoi la méthode UML ? ................................................................................................. 19
2.2. Les différentes Type de Diagrammes UML .......................................................................... 20
2.2.1. Diagrammes structurels ................................................................................................. 20
2.2.2. Diagrammes de comportement ...................................................................................... 20
3. Processus Unifié .......................................................................................................................... 22
3.1. Définition............................................................................................................................... 22
3.2. Caractéristiques du processus unifié ..................................................................................... 23
3.3. Différentes phases du processus unifié.................................................................................. 23
4. Analyse......................................................................................................................................... 25
4.1. Identification des acteurs ....................................................................................................... 25
4.2. Diagramme de cas d’utilisation ............................................................................................. 25
4.2.1. Présentation du diagramme de cas d’utilisation ............................................................ 26
4.3. Diagramme de séquence ........................................................................................................ 28
4.3.1. Diagramme de séquence pour l’authentification ........................................................... 30
4.3.2. Diagramme de séquence pour l’ajout d’un client .......................................................... 31
4.3.3. Diagramme de séquence pour modifier un client .......................................................... 32
4.3.4. Diagramme de séquence pour supprimer un client ....................................................... 33
4.3.5. Diagramme de séquence pour la recherche d’un client ................................................. 34
4.4. Diagramme d’activité ............................................................................................................ 35
4.4.1. Catégorie de diagramme d’activité ................................................................................ 35
4.4.2. Pourquoi utiliser diagramme d’activité ?....................................................................... 36
4.4.3. Représentation des diagrammes d’activités :................................................................. 36
4.5. Diagramme de classes ........................................................................................................... 40
4.6. Dictionnaire de données ........................................................................................................ 43
4.7. Modèle relationnel de données .............................................................................................. 44
4.7.1. Passage d’un diagramme de classes UML à un schéma relationnel .............................. 44
5. Conclusion ................................................................................................................................... 45
Chapitre 4
Réalisation
1. Introduction ................................................................................................................................ 46
2. Outils et langages de développements ....................................................................................... 46
2.1. Wamp Server ......................................................................................................................... 46
2.1.1. Présentation du système de gestion de bases de données MySQL ................................ 46
2.1.2. Principe de fonctionnement ........................................................................................... 47
2.1.3. Avantages de MySQL ................................................................................................... 47
2.1.4. Exemple de tables de bases de données......................................................................... 48
2.1.5. Connecteur JDBC .......................................................................................................... 48
2.2. Java : ...................................................................................................................................... 48
2.3. NetBeans : ............................................................................................................................. 49
2.4. Jdk ......................................................................................................................................... 49
2.5. EDI ........................................................................................................................................ 50
3. Présentation de quelques interfaces de notre application ....................................................... 50
3.1. Page d’authentification .......................................................................................................... 50
3.2. Page d’accueil........................................................................................................................ 51
3.3. Page client ............................................................................................................................. 51
3.4. Page liste des maisons ........................................................................................................... 53
4. Conclusion ................................................................................................................................... 54
Conclusion générale ............................................................................................................................ 55
Bibliographie.................................................................................................. Erreur ! Signet non défini.
Liste des figures
FIGURE 1 LES TROIS SYSTEMES D’ORGANISATIONS ........................................................................................................ 3
FIGURE 2 LES PRINCIPALES FONCTIONS DE SYSTEME D'INFORMATION ................................................................................ 4
FIGURE 3 UN NOUVEAU SCHEMA DU SYSTEME D'INFORMATION ....................................................................................... 6
FIGURE 4 LES COMPOSONS MINIMAL MIS EN PLACE POUR PARTAGER DES DONNEES .............................................................. 7
FIGURE 5 BASES DE DONNEES CENTRALISEES................................................................................................................ 8
FIGURE 6 BASES DE DONNEES DISTRIBUE .................................................................................................................... 8
FIGURE 7 LE MODELE HIERARCHIQUE ......................................................................................................................... 9
FIGURE 8 LE MODELE RESEAU................................................................................................................................. 10
FIGURE 9 LE MODELE RELATIONNEL ......................................................................................................................... 10
FIGURE 10 LE MODELE OBJET ................................................................................................................................. 11
FIGURE 11 LES SOUS-SYSTEMES DE SGBD ................................................................................................................ 12
FIGURE 12 L’ARCHITECTURE ANSI/SPARC .............................................................................................................. 13
FIGURE 13 ORGANIGRAMME DE L'ORGANISATION GLOBAL ........................................................................................... 16
FIGURE 14 LES TYPES DES DIAGRAMMES UML2 ......................................................................................................... 22
FIGURE 15 LES PHASES DU PROCESSUS UNIFIE ............................................................................................................ 24
FIGURE 16 DIAGRAMME DE CAS D’UTILISATION MISE A JOUR DE LA BASE DE DONNEES ........................................................ 27
FIGURE 17 DIAGRAMME DE CAS D’UTILISATION « IMPRESSION DES DOCUMENTS» ............................................................. 28
FIGURE 18 DIAGRAMME DE SEQUENCE POUR AUTHENTIFICATION .................................................................................. 30
FIGURE 19 DIAGRAMME DE SEQU+ENCE POUR L’AJOUT D’UN CLIENT .............................................................................. 31
FIGURE 20 DIAGRAMME DE SEQUENCE POUR MODIFIER UN CLIENT ................................................................................. 32
FIGURE 21 DIAGRAMME DE SEQUENCE POUR SUPPRIMER UN CLIENT............................................................................... 33
FIGURE 22 DIAGRAMME DE SEQUENCE POUR RECHERCHE D’UN CLIENT ............................................................................ 34
FIGURE 23 ILLUSTRATIVE DE CONDITION DE GARDE ........................................................................................ 35
FIGURE 24 DIAGRAMME D’ACTIVITE D’AUTHENTIFICATION ........................................................................................... 37
FIGURE 25 DIAGRAMME D’ACTIVITE D’AJOUT D’UN CLIENT ........................................................................................... 38
FIGURE 26 DIAGRAMME D’ACTIVITE DE SUPPRESSION D’UN CLIENT ................................................................................ 39
FIGURE 27 DIAGRAMME D’ACTIVITE DE MODIFICATION D’UN CLIENT............................................................................... 40
FIGURE 28 DIAGRAMME DE CLASSE ......................................................................................................................... 42
FIGURE 29 LES COMPOSANTS DE WAMP ................................................................................................................... 46
FIGURE 30 EXEMPLE DE TABLES DE BASES DE DONNEES ................................................................................................ 48
FIGURE 31 PAGE D’AUTHENTIFICATION .................................................................................................................... 50
FIGURE 32 PAGE D’ACCUEIL .................................................................................................................................. 51
FIGURE 33 PAGE LISTE DES CLIENTS ......................................................................................................................... 52
FIGURE 34 PAGE LISTE DES MAISONS ....................................................................................................................... 53

Liste des tableaux


TABLEAU 1 DICTIONNAIRE DES DONNEES .................................................................................................................. 43
Liste des abréviations

Abréviation Signification

SI Système d’Information

BD Base de Données

SQL Structured Query Language SGBD

SGBDO Système de gestion de bases de données objet

SGBDR Système de Gestion de Bases de Données Relationnelle

ANSI American National and Standards Institute

SPARC Scalable Processor Architecture

API Application Programming Interface.

EDI Environnement Développement Intégré.

IDE Integrate Développement Environnement.

JAR Java ARchive.

JDB JavaDataBase.

JDBC Java DataBase Connectivity.

JDK Java Développement Kit.

JPA Java Persistence API.

JVM Java Virtual Machine.

UML Unified Modeling Language.


Unified Process.
UP
Introduction générale

Introduction générale
Nous vivons une époque où l’automatisation des systèmes d’information devient une politique
qui est de plus en plus adoptée dans de nombreux établissements ayant des vocations différentes. En
effet, cette politique, assure une accélération et plus de précision lors du traitement de l’information.
Elle permet également une circulation plus rapide et plus sûr de l’information. De plus, elle procure
une vue plus organisée et plus structurée des données. Ce qui a pour conséquences de faciliter les
prises de décisions et de les rendre plus efficaces.

Dans le cadre de notre projet de fin d’étude, on nous a confié la mise en place d’un Système
d’information de gestion d’une agence immobilière, application de hautes importances pour assurer un
bon déroulement pour cela, nous allons détailler les différentes étapes par lesquelles nous sommes
passés pour réaliser ce projet.

Ce mémoire s’articule autour de quatre chapitres :

Le premier chapitre représente quelques généralités sur le système d’information et les bases
de données.

Dans le deuxième chapitre, nous avons présenté l’organisme d’accueil, le cadre du projet et les
objectifs à atteindre via le développement et la mise en place de l’application à réaliser.

Le troisième chapitre est consacrer à conception et la modélisation du processus de gestion


d’une agence immobilière, en utilisant UML comme langage de modélisation et le processus unifié
qu’on a suivi durant tout le processus de développement, fera l’objet du troisième chapitre.

Le quatrième chapitre, consacré à la réalisation de notre application, dans un premier lieu nous
donnons les outils de développement utilisés, tel que le langage java, le SGBD, MySQL et NetBeans.
Dans un deuxième lieu, nous présentons quelques interfaces de notre application.

Enfin, notre travail s’achève par une conclusion générale résumant les grands points qui ont
été abordés ainsi que les perspectives que nous souhaitons accomplir dans le future.

1
Chapitre. 1 –Généralités

1. Introduction
Dans ce chapitre nous allons découvrir une démarche d'informatisation, qui nous permet de
modéliser un système d'information et de le représenter à l'aide d'un système informatique.

On va entamer ce chapitre par traiter les systèmes d’information, ensuite on continuera par une
étude sommaire sur les bases de données (BDD), entre autre on donnera quelques définitions sur les
différents SGBD relationnels.

2. Système d’information
2.1. Définition
Un système comme le définit Joël de Rosnay dans son ouvrage « Le macroscope » est un
ensemble d'éléments en interaction dynamique, organisés en fonction d'un but.

Les théoriciens de l'approche systémique décomposent les organisations en trois systèmes.

 Le système opérant est le siège de l'activité productive de l'entreprise. Cette activité consiste en
une transformation de ressources ou flux primaires. Ces flux primaires peuvent être des flux de matière,
de finance, de personnel, d'actifs ou enfin d'information.
 Le système de pilotage est le siège de l'activité décisionnelle de l'entreprise. Cette activité
décisionnelle est très large et assurée par tous les acteurs de l'entreprise à des niveaux divers, depuis les
acteurs agissant plutôt dans l'activité productrice de l'entreprise, à ceux dirigeant cette dernière. Elle
permet la régulation, le pilotage mais aussi l'adaptation de l'entreprise à son environnement. C'est cette
activité qui conduira l'évolution, décidera notamment de l'organisation et de l'évolution des systèmes
opérants et d'information.
Dans un contexte classique de gestion, cette activité concerne, entre autres, l'allocation des
ressources impliquées (prévision, planification, etc.), ainsi que leur suivi (contrôle de gestion,
budgétaire, etc.).

 Le système d'information est un système de mémorisation dont le rôle est de permettre au


système de pilotage d'assurer ses fonctions, notamment en assurant son couplage avec le système
opérant. [W1]

2
Chapitre. 1 –Généralités

Figure 1 Les trois systèmes d’organisations

2.2. Les fonctions du système d'information dans l'entreprise

L'analyse systémique permet de faire émerger la notion de système d'information en tant que
représentation de l'activité du système opérant et/ou du système de pilotage, et de ses échanges avec
l'environnement, conçue à l'initiative du système de pilotage en fonction des objectifs à atteindre et de
l'organisation chois

 La génération des informations :


Le système d'information est conçu à l'initiative du système de pilotage. Le système de pilotage doit
faire preuve d'imagination dans la définition de l'information nécessaire à l'émergence du système
d'information et de ses fonctions. La génération de l'information est ainsi une fonction indispensable
que le système de pilotage doit exercer pour permettre la conception du système d'information. Cette
génération permettra toute saisie future de l'information et est propre à chaque organisation. Cette
génération de l'information consiste à donner à toute information un nom et une définition, reconnus et
partagés au sein de l’entreprise ; cela revient à définir en fait le vocabulaire spécifique de l'entreprise.

 La mémorisation des informations (transfert des informations dans le temps) :


La fonction de mémorisation (collective) des informations a un rôle central. Sans mémoire, pas
d'apprentissage, pas d'intelligence. La nature et la signification des informations à mémoriser seront
des éléments essentiels de la conception d'un système d'information. L'ensemble des informations
mémorisées constituera le « référentiel des données de l'organisation ».

3
Chapitre. 1 –Généralités

 La communication et la diffusion des informations (transfert des informations dans


l'espace)
Le système d'information assure les échanges (acquisition et restitution) d'informations avec le
système opérant et le système de pilotage. L'organisation de l'acquisition et de la restitution des
informations constituera un autre élément important de la conception.

 L'exécution des traitements (transfert des informations dans la forme)


En référence à l'approche système, les traitements sont soit des activités de transformation
d'information/matière première (relevant donc du système opérant), soit des activités de décision,
élémentaires ou complexes (relevant du système de pilotage). Le système d'information accueille, pour
le compte du système de pilotage ou du système opérant, les traitements suffisamment formalisés et
répétitifs.

Figure 2 Les principales fonctions de système d'information

4
Chapitre. 1 –Généralités

2.3. Une nouvelle lecture du système d'information


Aux trois rôles traditionnels joués par l'information dans les organisations : support pour l'action,
mémoire des activités, aide à la prise de décision, les technologies de l'information et de la
communication ont ajouté des fonctions considérables qui élargissent l'étendue des systèmes
d'information et en modifient profondément la structure.

1. Les trois terrains d'innovation de système d’information


Ce phénomène est particulièrement visible à travers trois terrains d'innovation

• la dématérialisation croissante des objets de gestion,


• l'exigence systématique de qualité,
• l'émergence de structures informationnelles virtuelles liées aux structures réelles.
L'extension de la place de l'information et de ses technologies au sein des organisations
détermine l'évolution de la notion même de système d'information.

L'approche traditionnelle voit l'organisation comme un système, lui-même décomposé en trois


sous-systèmes en interaction : le système opérant, le système d'information et le système de pilotage.
Dans cette vision, le système d'information joue le rôle de mémoire entre le système de pilotage (la
direction) et le système opérant (la sphère de production). Selon cette approche, le SI est une
représentation abstraite du monde réel qui permet d'asseoir le processus de conception de la base de
données support du SI.

La confusion ou l'intégration entre le système d'information et le système informatique tient autant


au phénomène de numérisation croissante de la réalité informationnelle qu'à l'évolution déterminante
du rôle de l'informatique dans l'organisation.

2. Le lien entre processus métier et Systèmes d'Information


Aujourd'hui les théoriciens mettent l'accent sur les liens entre processus métier et Systèmes
d'Information.

Un processus métier est un ensemble coordonné d'activités visant à produire un résultat pour les
clients internes ou externes de l'organisation. Ce processus est exécuté par des acteurs humains ou des
automates utilisant des ressources. Dans certains cas, les activités des processus sont uniquement du
traitement de l'information : saisie, stockage, transmission, recherche, manipulation, restitution : c'est
le système d'information.

« Le système d'information est la partie du réel constituée d'informations organisées, d'événements


ayant un effet sur ces informations, et d'acteurs qui agissent sur ces informations ou à partir de ces
informations, selon des processus visant une finalité de gestion et utilisant les technologies de
l'information. » [1]

5
Chapitre. 1 –Généralités

Figure 3 Un nouveau schéma du système d'information

Le système informatique est défini comme " un ensemble organisé d'objets techniques matériels,
logiciels, applicatifs – dont la mise en œuvre réalise l'infrastructure d'un système d'information."

Dans la réalité du fonctionnement des organisations, le système informatique ne prend pas en


charge la totalité des situations de gestion. D'une part parce qu'un grand nombre de modalités de
fonctionnement ne sont pas formelles, d'autre part parce que l'histoire de l'élaboration du logiciel, son
origine, déterminent souvent un formatage des règles de gestion introduites comme des contraintes.

Ainsi il faut admettre qu'une partie de l'organisation échappe à la couverture du système et qu'une
part des procédures restera "manuelle" ou " informelle".

2.4. Le rôle d’un système d’information


 Produire les informations légales par l’environnement
 Déclencher les décisions programmées
 Fournir des informations aux décideurs pour aider à la prise de décision non programmées
 Coordonner les taches en assurant les communications au sein du système organisationnel. [1]

6
Chapitre. 1 –Généralités

3. Les bases de données


3.1. Définition d’une base de données
Une base de données (son abréviation est BD, en anglais DB) est une entité dans laquelle il est
possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces
données doivent pouvoir être utilisées par des programmes, par des utilisateurs différents. Ainsi, la
notion de base de données est généralement couplée à celle de réseau, afin de pouvoir mettre en
commun ces informations, d'où le nom de base.

On parle généralement de système d'information pour désigner toute la structure regroupant les
moyens mis en place pour pouvoir partager des données. [W2]

Figure 4 Les composons minimal mis en place pour partager des données

3.2. Utilité d'une base de données


Une base de données permet de mettre des données à la disposition d'utilisateurs pour une
consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordés à ces derniers.
Cela est d'autant plus utile que les données informatiques sont de plus en plus nombreuses.

Une base de données peut être locale, c'est-à-dire utilisable sur une machine par un utilisateur, ou
bien répartie, c'est-à-dire que les informations sont stockées sur des machines distantes et accessibles
par réseau.

L'avantage majeur de l'utilisation de bases de données est la possibilité de pouvoir


être accédées par plusieurs utilisateurs simultanément.

3.3. Les types de bases de données


Dans de très nombreux cas, on a besoin de manipuler un grand nombre de données. Pour ce faire,
il peut être utile de les regrouper en un tout (une base de données).ces données doivent pouvoir être
accédées par un ou plusieurs Utilisateurs locaux ou distants.

7
Chapitre. 1 –Généralités

Il existe deux types de base de données : [2]

1. Les bases de données centralisées

La base de données est dite centralisée lorsque les informations sont centralisées dans une seule
machine et d’autres utilisateurs distants y accèdent.

Figure 5 Bases de données centralisées

2. Les bases de données réparties [6]

Le déploiement des réseaux ainsi que l’augmentation de leur débit ces dernières années ont
conduit à répartir les données sur plusieurs sites géographiques, ce qui facilite la politique de
décentralisation des organisations.

Figure 6 Bases de données distribue

Ce type d’architecture masque la répartition de l’information tout en garantissant une gestion


transparente aux utilisateurs, comme s’ils disposaient d’une seule base de données assurent ainsi une
plus grande fiabilité, de meilleures performances et facilitent l’évolution du système d’information.

8
Chapitre. 1 –Généralités

 La fiabilité et la sécurité : on effectue une copie de sécurité des données sur un site distant à
intervalles réguliers pour éviter le désastre de la perte de données due à un incendie par exemple.
 La disponibilité : on procède à des réplications quasi permanentes des données dans le but
de «rapprocher » les utilisateurs des données d’un point de vue de la topologie du réseau. On améliore
également le temps de repense en répartissant la charge entre les serveurs. Cette distribution est gérée de
manière intelligente par les systèmes informatiques, ce qui permet de répartir l’information efficacement
sur les différents sites, en fonction des accès utilisateurs. ces principes sont notamment utilisés par les
moteurs de recherche.

 Les données sont réparties sur des sites séparés : le dispositif permet de masquer cet aspect
aux utilisateurs et de fonctionner comme si un seul serveur était présent sur un seul site. l’évolution du
système est rendue totalement transparente pour les utilisateurs en cas notamment de changement de
machine à la suite d’une panne, de modification de localisation, d’augmentation de la taille de la base,
d’ajouts d’ordinateurs sur le réseau afin d’augmenter la capacité de stockage de la base de données.

3.4. Les différents modèles de bases de données


Les bases de données sont apparues à la fin des années 60, à une époque où la nécessité d'un
système de gestion de l'information souple se faisait ressentir. Il existe cinq modèles de SGBD,
différenciés selon la représentation des données qu'elle contient : [W 3]

1. Le modèle hiérarchique
Les données sont classées hiérarchiquement, selon une arborescence descendante. Ce modèle
utilise des pointeurs entre les différents enregistrements. Il s'agit du premier modèle de SGBD

Figure 7 Le modèle hiérarchique

2. Le modèle réseau
Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements. Toutefois
la structure n'est plus forcément arborescente dans le sens descendant.

9
Chapitre. 1 –Généralités

Figure 8 Le modèle réseau

3. Le modèle relationnel
Les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La
manipulation de ces données se fait selon la théorie mathématique des relations

Figure 9 Le modèle relationnel

4. Le modèle déductif (SGBDR, Système de gestion de bases de données relationnelles)


Les données sont représentées sous forme de table, mais leur manipulation se fait par calcul de
prédicats

5. Le modèle objet (SGBDO, Système de gestion de bases de données objet)


Les données sont stockées sous forme d'objets, c'est-à-dire de structures appelées classes
présentant des données membres. Les champs sont des instances de ces classes

10
Chapitre. 1 –Généralités

Figure 10 Le modèle objet

4. La gestion des bases de données


Afin de pouvoir contrôler les données ainsi que les utilisateurs, le besoin d'un système de gestion
s'est vite fait ressentir. La gestion de la base de données se fait grâce à un système appelé SGBD
(système de gestion de bases de données) ou en anglais DBMS (Database management system).

4.1. Système de gestion des bases de données


Le SGBD est un ensemble de services (applications logicielles) qui gère et contrôle l’accès à une
base de données, assurant ainsi une interface normalisée entre les applications et les bases de données.
C’est logiciel le plus souvent produit par un éditeur commercial.

Plusieurs SGBD sont des logiciels commerciaux offerts à grand prix, sous forme de licences
d’utilisation sur un serveur par des éditeurs de logiciel tels que : Oracle, Microsoft Sybase, IBM …
pour ne nommer que les plus importants qui proposent des SGBD conçus pour exploiter les bases de
données de grande envergure. Ces SGBD sont le DB2 de la société IBM, Oracle10i de la société
Oracle ou le Microsoft SQL server. Certains éditeurs offrent par ailleurs des SGBD bas de gamme peu
couteux destinés aux applications de base de données de petites envergures Microsoft Access est peut-
être le mieux connu et le plus utilisé des SGBD de cette catégorie, souvent appelé SGBD bureautique.
Il existe aussi des SGBD dans le mande des logiciel libre, le plus populaire st sans aucun doute
MySQL, qui est opéré sous système d’exploitation Linux, MySQL n’a rien à envier aux SGBD
commerciaux au plan des capacités et des performances. [3]

4.2. Les trois sous-systèmes de SGBD :


 le système de gestion de fichiers : il permet le stockage des informations sur un support
physique.
 le SGBD interne : il gère l'ordonnancement des informations.
 le SGBD externe : il représente l'interface avec l'utilisateur.

11
Chapitre. 1 –Généralités

Figure 11 Les sous-systèmes de SGBD

4.3. Fonctionnalité d’un SGBD


Il existe un modèle théorique en trois couches (trois niveaux d’abstraction) afin de concevoir et
d’organiser les fonctionnalités des SGBD. Ce modèle est élaboré par la commission SPARC (Scalable
Processor Architecture) de l’ANSI (American National Standards Institute) :c’est l’architecture
ANSI/SPARC, cette dernière qui date de 1975, s’inscrit dans les concepts et théories de la première
génération des bases de données, dont l’objectif est d’avoir une Independence entre les données et les
traitements : [4]

 Niveau interne ou physique : c’est le niveau le plus ‘’bas’’, on décrit les structure de stockage
de l’information, ce qui le rend très dépendant du SGBD employe.il se fonde sur un modèle de
données physique.
 Niveau conceptuel : il correspond à l’implémentation du schéma conceptuel de la base de
données, que l’on réalise lors de la phase d’analyse.il est utilisé pour d’écrire les éléments constitutifs
de la base de données et les contraintes qui leur sont associées.
Il s’agit d’une certaine façon de ‘’la documentation’’ de la base de données.
 Niveau externe : le niveau externe sert à décrire les vues des utilisateurs, c’est-à-dire
Le schéma de visualisation des données qui est différent pour chaque catégorie d’utilisateurs. Un
schéma externe permet de masquer la complexité de la base de données complète en fonction des
droits ou des besoins des utilisateurs. Cela facilite la lecture et la sécurité de l’information.

12
Chapitre. 1 –Généralités

Figure 12 l’architecture ANSI/SPARC

4.4. Les caractéristiques d'un SGBD


L'architecture à trois niveaux définie par le standard ANSI/SPARC permet d'avoir une
indépendance entre les données et les traitements. D'une manière générale un SGBD doit avoir les
caractéristiques suivantes : [W4]
 Indépendance physique : le niveau physique peut être modifié indépendamment du niveau
conceptuel. Cela signifie que tous les aspects matériels de la base de données n'apparaissent pas pour
l'utilisateur, il s'agit simplement d'une structure transparente de représentation des informations
 Indépendance logique : le niveau conceptuel doit pouvoir être modifié sans remettre en cause
le niveau physique, c'est-à-dire que l'administrateur de la base doit pouvoir la faire évoluer sans que
cela gêne les utilisateurs
 Manipulabilité : des personnes ne connaissant pas la base de données doivent être capables
de décrire leur requête sans faire référence à des éléments techniques de la base de données
 Rapidité des accès : le système doit pouvoir fournir les réponses aux requêtes le plus
rapidement possibles, cela implique des algorithmes de recherche rapides
 Administration centralisée : le SGBD doit permettre à l'administrateur de pouvoir manipuler
les données, insérer des éléments, vérifier son intégrité de façon centralisée
 Limitation de la redondance : le SGBD doit pouvoir éviter dans la mesure du possible des
informations redondantes, afin d'éviter d'une part un gaspillage d'espace mémoire mais aussi des
erreurs

13
Chapitre. 1 –Généralités

 Vérification de l'intégrité : les données doivent être cohérentes entre elles, de plus lorsque
des éléments font référence à d'autres, ces derniers doivent être présents
 Partageabilité des données : le SGBD doit permettre l'accès simultané à la base de données
par plusieurs utilisateurs
 Sécurité des données : le SGBD doit présenter des mécanismes permettant de gérer les droits
d'accès aux données selon les utilisateurs

4.5. Objectifs des SGBD


 Faciliter la représentation et la description de données : plus besoin de travailler
directement sur les fichiers physiques (tels qu’ils sont enregistrés sur disque). Un SGBD nous permet
de décrire les données et les liens entre elles d’une façon logique sans se soucier du comment cela va
se faire physiquement dans les fichiers. On parle alors d’image logique de la base de données, (ou
aussi description logique ou conceptuelle ou encore de schéma logique).
 Faciliter la manipulation en travaillant directement sur le schéma logique : On peut
insérer, supprimer, modifier des données directement sur l’image logique. Le SGBD va s’occuper de
faire le travail sur les fichiers physiques
 Permettre l’ajout des contraintes, permettant d’avoir à tout instant des données :
cohérentes : par exemple l’âge d’une personne supérieur à zéro, salaire supérieur à zéro, etc. Dès
que l’on essaie de saisir une valeur qui ne respecte pas cette contrainte, le SGBD le refuse. [5]

5. Conclusion
A l’issu de ce chapitre, nous avons fait une présentation des systèmes d’information, des bases de
données, et des systèmes de gestion de bases de données qui sont Des outils nécessaires pour la
réalisation des projets informatiques.

14
Chapitre.2 –Présentation de l’organisme d’accueil

1. Introduction

Le but de ce chapitre est de mettre en exergue notre domaine d’étude. Ainsi afin de
mieux cerner tous les contours du problème posé par l'informatisation de l’agence
immobilière, il est nécessaire de s'imprégner du fonctionnement et de l'organisation de
L’agence immobilière.
Dans ce chapitre nous présenterons l’organisme d’accueil

2. Présentation de l’organisme d’accueil


2.1. Historique
L’agence Immobilière « Le Cap » a été fondée en 1997 par son gérant et propriétaire,
située à Cité des 80 logts B Nº 4 Aokas-Bejaia.
L’agence immobilière a pour but de réaliser des transactions, ainsi que de satisfaire les
besoins des citoyens, de veiller sur l’intérêt des clients et de réaliser des transactions dans la
transparence entre les deux parties, de mener bien la mission, d’orienter le client, de jouer le
rôle de conseiller avant la transaction et de travailler en collaboration avec des agences
compétentes locales ou nationales.

15
Chapitre.2 –Présentation de l’organisme d’accueil

2.2. Organigramme de l’organisation globale

Figure 13 Organigramme de l'organisation global

16
Chapitre.2 –Présentation de l’organisme d’accueil

2.3. Mission

 Agent immobilier :
Il dirige la négociation et veille à la conclusion de l’affaire, ainsi il procède à toutes les
démarches administratives utiles (renseignement sur l’état hypothécaire de bien, certificat
d’urbanisme…, etc.) .il procure toute l’aide et tout autre renseignement à son client pour le
financement de l’acquisition .enfin, il rédige l’acte de promesse de vente et assistera son client
lors de la signature chez le notaire.
 Secrétariat :
Son rôle c’est de tenir l’organisation du bureau, et de recevoir les clients.

3. Présentation du sujet
Le sujet qui nous a été proposé et « la conception et réalisation d’un système d’information
pour la gestion d’une agence immobilière » au niveau de l’agence immobilière « le CAP ».
Ce travail consiste à suivre toutes les transactions (achat, vente, location, échange).
Ce suivi doit se faire par une analyse optique et diagnostique du système actuel afin de
porter des améliorations.

3.1. Présentation globale de l’agence immobilière

 Définition d’une agence immobilière


L’agence immobilière est un terme désignant un commerce dont la fonction est de
proposer ses services et moyens pour la négociation et le conseil en matière de bien
immobilier : vente, achat, échange et location, conseil en matière d’achat, estimation de bien.

 Activités de l’agence immobilière


Les types de transaction effectuée par l’agence Le Cap sont : l’achat, la vente, la location
et l’échange.

Les biens immobiliers portent sur : villa, appartement, terrain, locaux…

3.2. Problématique
Lors de notre étude au sein de l’agence immobilière, on a constaté que toute transaction
effectuée rencontre différents problèmes :
 Accès difficile aux données concernant un client ou un bien.
17
Chapitre.2 –Présentation de l’organisme d’accueil

 Les difficultés de traitement manuel effectué sur les documents.


 Perte d’informations dues aux mauvaises conditions d’archivage.
 Difficulté de recherche des informations.

3.3. Objectif
Le but principal de notre travail consiste à la mise en place d’un système d’information
automatisé permettant la gestion des différentes tâches effectuées au sein de cette agence
immobilière. Parmi les objectifs prioritaires à atteindre on citera :

 Un gain important en temps.


 Assurer la sécurité des informations par un logiciel afin d’éviter toute perte
d’informations.
 Un accès rapide aux informations.
 Les documents et les fichiers doivent être imprimés à partir d’un logiciel.

4. Conclusion

Dans ce chapitre nous avons présenté historique de l’organisme d’accueil de l’agence de


notre cas d’étude, après on a donné une petite représentation globale d’une agence, à la fin on
a recensé les problèmes rencontre et n’autre objectif de travail.

18
Chapitre.3 –Analyse et conception

1. Introduction
L’étude du système existant est une étape primordiale vers la conception d’une application
performante répondant bien aux besoins des utilisateurs. En effet, l’analyse nous permet de
prendre connaissance du domaine dans lequel l’organisme souhaite améliorer son
fonctionnement, de soulever les anomalies et insuffisances rencontrées et de suggérer dans la
limite du possible, des solutions bénéfiques.

La conception nous permet de décrire complètement le futur système à l’aide des


différents modèles de données et de traitements.

La nouvelle application doit permettre d’atteindre les nouveaux objectifs fixés d’après les
souhaits exprimés.

2. UML (Unified Modeling Language)


L’UML se définit comme un langage de modélisation graphique et textuel. Il est destiné à
comprendre et décrire des besoins, spécifier et documenter les systèmes, et sert aussi à
esquisser des architectures logicielles, concevoir des solutions et communiquer des points de
L’UML unifie à la fois les notations et les concepts orientés objet. Il ne s’agit pas d’une
simple notation graphique, car les concepts transmis par un diagramme ont une sémantique
précise et sont porteurs de sens au même titre que les mots d’un langage. [7]

2.1. Pourquoi la méthode UML ?

 L’UML est un langage formel et normalisé qui permet durant la phase de conception :
 Un gain de précision
 Un gage de stabilité
 Encourager l'utilisation d'outils
 Le langage UML est un support de communication performant :
 Il encadre l'analyse.
 Il facilite la compréhension de représentation abstraite complexe.

Son caractère polyvalent et sa souplesse en font un langage universel [8].

19
Chapitre.3 –Analyse et conception

2.2. Les différentes Type de Diagrammes UML

UML s’articule autour de treize diagrammes, chacun d’eux étant dédié à la représentation
des concepts particuliers d’un système logiciel. Ces diagrammes sont repartis en deux grands
groupes :

2.2.1. Diagrammes structurels


Ils représentent l’aspect statique d’un système (classes, objets, composants, . . .) [11] [7].
Dans ce qui suit, nous décrivons les six diagrammes structurels d’UML.
 Diagramme de classes
Il représente la description statique du système où chaque classe a une partie données et
une partie traitements. C’est le diagramme pivot de l’ensemble de la modélisation d’un
système.
 Diagramme d’objets

Permet la représentation d’instances des classes et les liens qui les relient.

 Diagramme de composants
Il représente les différents constituants du logiciel au niveau de l’implémentation d’un
système.
 Diagramme de déploiement

Décrit l’architecture technique d’un système en se basant sur la répartition des composants
dans la configuration d’exploitation.

 Diagramme de paquetage

Décrit l’ensemble du système structuré en paquetage. Chaque paquetage est un ensemble


homogène d’éléments du système.

 Diagramme de structure composite

Permet de décrire la structure interne d’un ensemble complexe et composé, et met aussi
l’accent sur les liens entre les sous-ensembles qui collaborent.

2.2.2. Diagrammes de comportement

Ces diagrammes représentent la partie dynamique d’un système réagissant aux


événements et permettant de produire les résultats attendus par les utilisateurs.
 Diagramme des cas d’utilisation
Destiné à représenter les besoins des utilisateurs par rapport au système. C’est l’un des
diagrammes les plus structurants dans l’analyse d’un système.

20
Chapitre.3 –Analyse et conception

 Diagramme d’état transition


Montre les différents états des objets en réaction aux événements.
 Diagramme d’activités
Donne une vision des enchainements des activités propres à une opération ou à un cas
d’utilisation.
 Diagramme de séquences
Permet de décrire les scénarios de chaque cas d’utilisation en mettant l’accent sur la
chronologie des opérations.
 Diagramme de communication
C’est une autre représentation des scénarios de cas d’utilisation qui met plus l’accent
sur les objets et les messages échangés.
 Diagramme globale d’interaction
Fournit une vue générale des interactions décrites dans le diagramme de séquence et
des flots de contrôle décrits dans le diagramme d’activités.
 Diagramme de temps
Permet de représenter les états et les interactions d’objets dans un contexte ou le temps
à une forte influence sur le comportement du système à gérer. [9]

21
Chapitre.3 –Analyse et conception

Figure 14 Les types des diagrammes UML2

3. Processus Unifié

3.1. Définition

Le Processus Unifié (UP pour Unified Process) est un processus de développement de


logiciels. Ce dernier est une trame commune des meilleures pratiques de développement. La
définition d’un processus UP est constituée de plusieurs disciplines d’activité de production et
de contrôle de cette production [10].

22
Chapitre.3 –Analyse et conception

3.2. Caractéristiques du processus unifié

Tout processus UP répond aux caractéristiques ci-après. [10]

 Itératif et incrémental

C’est la meilleure pratique de gestion des risques d’ordre à la fois technique et


fonctionnelle.
On peut estimer qu’un projet qui ne produit rien d’exécutable dans les 9 mois court un
risque majeur d’échec. Chaque itération garantit que les équipes sont capables d’intégrer
l’environnement technique pour développer un produit final et fournit aux utilisateurs un
résultat tangible de leurs spécifications. Le suivi des itérations constitue par ailleurs un
excellent contrôle des coûts et des délais.

 Centré sur l’architecture

Tout système complexe doit être décomposé en parties modulaires afin de garantir une
maintenance et une évolution facilitée. Cette architecture (fonctionnelle, logique, matérielle,
etc.) doit être modélisée en UML et pas seulement documentée en texte.
 Piloté par les risques

Les risques majeurs du projet doivent être identifiés au plus tôt, mais surtout levés le plus
rapidement possible. Les mesures à prendre dans ce cadre déterminent l’ordre des itérations.
 Conduit par les cas d’utilisation

Le projet est mené en tenant compte des besoins et des exigences des utilisateurs. Les cas
d’utilisation du futur système sont identifiés, décrits avec précision et priorité.

3.3. Différentes phases du processus unifié

La gestion d’un tel processus est organisée suivant les quatre phases : [12]

1. Phase d’initialisation

Elle conduit à définir la vision du projet, sa portée et sa faisabilité afin de pouvoir


décider au mieux de sa poursuite ou de son arrêt.

23
Chapitre.3 –Analyse et conception

2. Phase d’élaboration
Elle poursuit trois objectifs principaux en parallèle :
- Identifier et décrire la majeure partie des besoins des utilisateurs.
- Construire l’architecture de base du système.
- Lever les risques majeurs du projet.
3. Phase de construction
Elle consiste surtout à concevoir et implémenter l’ensemble des éléments
opérationnels (autres que ceux de l’architecture de base). C’est la phase la plus
consommatrice en ressources et en efforts.
4. Phase de transition
Permet de faire passer le système informatique des mains de développeurs à celles des
utilisateurs finaux. Les mots-clés sont : conversion des données, formation des utilisateurs,
déploiement et béta-tests.
La figure suivante montre les phases du processus unifié :

Figure 15 Les phases du processus unifié

Ses activités de développement sont définies par cinq disciplines fondamentales qui
décrivent la capture des exigences, l’analyse et la conception, l’implémentation, le test et le
déploiement.
Enfin, trois disciplines appelées de support complètent le tableau : gestion de projet,
gestion du changement et de la configuration, ainsi que la mise à disposition d’un
environnement complet de développement incluant aussi bien des oils informatiques que des
documents et des guides méthodologiques [13].

24
Chapitre.3 –Analyse et conception

4. Analyse
La phase d'analyse a pour objectif d'identifier les acteurs qui interagissent avec le système
et spécifier les fonctionnalités du système. Cette phase sert aussi à déterminer pour chaque
acteur ses droits d'accès à l’utilisation du système.

4.1. Identification des acteurs

La première étape de modélisation consiste à définir le périmètre du système, le contour


de l’organisation. La seconde sert à modéliser et identifier les entités qui interagissent avec le
système qui sont les acteurs.

Définition : Un acteur représente un rôle joué par une entité externe (utilisateur humain,
dispositif matériel ou autre système) qui interagit directement avec le système étudié.

Le client : c’est un acteur sur lequel faites les mises à jour de la base de données et les autres
cas d’utilisation

L’acteur (admin) : c’est l’acteur principal du système son rôle et la mise à jour de la base de
données pour les effets des mises à jour de la base de données.

4.2. Diagramme de cas d’utilisation

Le Diagramme de cas d’utilisation est le premier diagramme du modèle UML utilisé pour
la modélisation des besoins des utilisateurs.
Les cas d’utilisations décrivent le comportement du système étudié du point de vue de
l’utilisateur, et décrivent les possibilités d’interactions fonctionnelles entre le système et les
acteurs, ils permettent de définir les limites et les relations entre le système et son
environnement. Il est destiné à structurer les besoins des utilisateurs et les objectifs par
rapport au système. C’est donc l’image d’une fonctionnalité en réponse à la simulation d’un
acteur externe. [14]
Il s'agit de la solution UML pour représenter le modèle conceptuel.
 Les use cases permettent de structurer les besoins des utilisateurs et les objectifs
correspondants d'un système.
 Ils centrent l'expression des exigences du système sur ses utilisateurs : ils partent du
principe que les objectifs du système sont tous motivés.

25
Chapitre.3 –Analyse et conception

 Ils se limitent aux préoccupations "réelles" des utilisateurs. Ils identifient les utilisateurs
du système (acteurs) et leur interaction avec le système.
 Ils permettent de classer les acteurs et structurer les objectifs du système.
 Ils servent de base à la traçabilité des exigences d'un système dans un processus de
développement intégrant UML.

Voici les cas d'utilisation de notre application :

Authentification : l'application vérifie que c’est bien l'utilisateur (qui est l’agent) qui veut
utiliser le système et lui donne ensuite l'autorisation d’accès.
Ajouter : pouvoir ajouter des nouveaux clients, bien immobilier.
Modifier : sert à modifier l'information d’un client ou autre dans la base de données.
Supprimer : supprimer un client ou un bien immobilier.
Rechercher : rechercher des informations sur un client, un bien immobilier.

4.2.1. Présentation du diagramme de cas d’utilisation

Le diagramme de cas d'utilisation du système de notre projet représenté comme suit :

1. Mise à jour de la base de données :

La mise à jour de la base de données est seulement effectuée par l’agent


administratif elle rassemble : l’ajout, la suppression, la recherche, et la modification d’un
membre dans la BDD.

26
Chapitre.3 –Analyse et conception

Figure 16 Diagramme de cas d’utilisation mise à jour de la base de données

27
Chapitre.3 –Analyse et conception

2. Impression : permettre à l’utilisateur d’imprimer des différents documents

Figure 17 Diagramme de cas d’utilisation « impression des documents»

4.3. Diagramme de séquence


L’objectif du diagramme de séquence est de représenter les interactions entre objets en
indiquant la chronologie des échanges. Cette représentation peut se réaliser par cas
d’utilisation en considérant les différents scénarios associes.
 Message synchrone : dans ce cas l’émetteur reste en attente de la réponse à son
message avant de poursuivre ses actions. La flèche avec extrémité pleine symbolise ce
type de message .Le message retour peut ne pas être représenté car il est inclus dans la fin
d’exécution de l’opération de l’objet destinataire du message. „h Message asynchrone :
Dans ce cas, l’émetteur n’attend pas la réponse à son message, il poursuit l’exécution de
ses opérations. C’est une flèche avec une extrémité non pleine qui symbolise ce type de
message.
 Fragments d’interaction : Un fragment d’interaction se représente globalement
comme un diagramme de séquence dans un rectangle avec indication dans le coin à

28
Chapitre.3 –Analyse et conception

gauche du nom du fragment. Treize opérateurs ont été définis dans UML : alt, opt,
loop, par, sterict/weak,break, ignore/consider, critical, negative, assertion et ref.[15]

 Opérateur « alt » L’opérateur« al t » correspond à une instruction de test avec une


ou plusieurs alternatives possibles. Il est aussi permis d’utiliser les clauses de type
sinon.
L’opérateur« alt » se représente dans un fragment possé dant au moins deux parties
séparées par des pointillés.
 Opérateur « opt »
L’opérateur« opt » (optional) correspond à une instruction de test sans alternative
(sinon).
L’opérateur« opt » se représente dans un fragment possédant une seule partie.
 Opérateur «loop » L’opérateur« loop » correspond à une instruction de boucle qui
permet d’exécuter une séquence d’interaction tant qu’une condition est satisfaite.
 Opérateur « ref »
L’operateur« ref » permet d’appeler une séquence d’interaction décrite par ailleurs
constituant ainsi une sorte de sous-diagramme de séquence.

29
Chapitre.3 –Analyse et conception

4.3.1. Diagramme de séquence pour l’authentification

Figure 18 Diagramme de séquence pour Authentification

30
Chapitre.3 –Analyse et conception

4.3.2. Diagramme de séquence pour l’ajout d’un client

Figure 19 Diagramme de séqu+ence pour l’ajout d’un client

31
Chapitre.3 –Analyse et conception

4.3.3. Diagramme de séquence pour modifier un client

Figure 20 Diagramme de séquence pour modifier un client

32
Chapitre.3 –Analyse et conception

4.3.4. Diagramme de séquence pour supprimer un client

Figure 21 Diagramme de séquence pour supprimer un client

33
Chapitre.3 –Analyse et conception

4.3.5. Diagramme de séquence pour la recherche d’un client

Figure 22 Diagramme de séquence pour recherche d’un client

34
Chapitre.3 –Analyse et conception

4.4. Diagramme d’activité

Il donne une vision des enchaînements des activités propre à une opération ou à un
Cas d'utilisation. [12]
Un diagramme d'activités permet de mettre l’accent sur les traitements et est
particulièrement adapté à la modélisation du cheminement de flots de contrôle et de flots
de données. Il indique la part prise par chaque objet dans l'exécution d'un travail. Il sera
enrichi par les conditions de séquence. Dans la phase de conception, les diagrammes
d’activités sont particulièrement adaptés à la description des cas d’utilisation en venant, par
exemple, illustrer et consolider leur description textuelle. Ainsi leur représentation est sous
forme d’organigrammes, ce qui les rend utiles dans la phase de réalisation. [13][16].

4.4.1. Catégorie de diagramme d’activité


 Flot de contrôle : ensemble de transitions d’déclenchée par des événements qui
peuvent être : la disponibilité d’un objet dans un certain état, la satisfaction d‘une
condition ou la réception d’un signal.
Le flot de contrôle est représenté par un rectangle contenant l’activité comme l’exemple
suivant :

Envoyer une commande

 Condition de garde : une transition peut être assortie d’une condition de garde qui
bloque la transition si elle n’est pas vérifiée voir l’exemple ci-dessus

Préparation de la commande Envoyer de la commande

[Fin de journée]

Etat Initiale :

Etat Terminal :

Figure 23 Illustrative de condition de garde

35
Chapitre.3 –Analyse et conception

4.4.2. Pourquoi utiliser diagramme d’activité ?

L’apport de diagramme d’activité est essentiel pour modéliser les processus, il permet
de représenté aussi bien les traitements que les acteurs impliqués, ainsi que l’utilisation des
informations, ce diagramme est plus riche pour modéliser le futur système.

4.4.3. Représentation des diagrammes d’activités :


Les diagrammes d’activité de nos cas d’utilisation sont présentés sur les figures
suivantes :

36
Chapitre.3 –Analyse et conception

1. Diagramme d’activité d’authentification

Figure 24 Diagramme d’activité d’authentification

37
Chapitre.3 –Analyse et conception

2. Diagramme d’activité d’ajout d’un client

Figure 25 Diagramme d’activité d’ajout d’un client

38
Chapitre.3 –Analyse et conception

3. Diagramme d’activité de suppression d’un client

Figure 26 Diagramme d’activité de suppression d’un client

39
Chapitre.3 –Analyse et conception

4. Diagramme d’activité de modification

Figure 27 Diagramme d’activité de modification d’un client

4.5. Diagramme de classes


Diagramme structurel qui montre un ensemble de classes, d’interfaces et leurs
relations.[12]
Voici quelques notions de base de ce diagramme
1. Classe : Elle décrit le domaine de définition d’un groupe d’objet ayant des attributs
similaires, un comportement commun et des relations communes. UML permet de définir
trois types pour les classes :
- les classes « frontières » (interfaces) : classes qui servent à modéliser les interactions entre
le système et ses acteurs.
- les classes « contrôles » : classes qui servent à représenter la coordination, les transactions,
le contrôle et la séquence d’autres objets.
- les classes « entités » : classes qui servent à modéliser les informations durables et
persistantes.

40
Chapitre.3 –Analyse et conception

2. Association : Exprime une connexion sémantique bidirectionnelle entre les classes, et


uneabstractiondesliensquiexistententrelesobjetsinstancedesclasses associées, au bout de
chaque association il peut y avoir un rôle qui précise le rôle que jouent les objets et une
multiplicité qui précise le nombre d’instances qui participe à la relation. Voici des exemples
de multiplicités : 1 : une et un seul. 0...1 : zéro ou un. 0...*: zéro ou plusieurs. 1...*: un ou
plusieurs.
3. Agrégation : L’agrégation est une forme particulière d’association qui exprime un
couplage plus fort entre classes et elle permet de représenter des relations de type ‘’tout-
parties ’’ou‘’ composées-composantes’’.
4. Héritage : L’héritage est une technique qui permet de construire une classe à partir d’une
ou plusieurs classes, en partageant des attributs, des opérations et parfois des contraintes au
sein d’une hiérarchie de classes. On peut définir deux types de relations :
 Généralisation : Fonction qui fait correspondre à des sous-classes une classe plus
générale.
 Spécialisation : C’est une fonction qui fait correspondre à une classe toutes ses sous
classes.

41
Chapitre.3 –Analyse et conception

Figure 28 Diagramme de classe

42
Chapitre.3 –Analyse et conception

Dans cette section nous allons décrite en premier lieu, la manière de concevoir la
structure de la base de données à travers un modèle conceptuel :

Le diagramme de classe (classe entité). Ensuite, nous allons traduire ce dernier en


modèle relationnel.
Mais avant tous, voici un descriptif des abréviations d’informations utilisées dans les
différentes modèles.

4.6. Dictionnaire de données


Lors de l’implémentation, différentes annotations ont été utilisées sur les variables de
la base. Le tableau ci-dessous présente les différentes désignations effectuées.

Tableau 1 Dictionnaire des données

Code Signification type taille Observation


Id_clt Identifiant du client INT 10
Nom Nom du client VARCHAR 30
Prenom Prénom du client VARCHAR 30
Date_nais La date de naissance du client DATE 50
Num_cn Numéro de la carte d’identité nationale INT 50
Adresse Adresse du client VARCHAR 20
Num_tel Numéro de téléphone du client VARCHAR 10
Code _ bien Code de bien INT 10
Fonction Transaction effectué VARCHAR 50
Prix Prix de bien INT 30
Lieu Localisation du bien VARCHAR 30
Nbr_façade Nombre de façade MUMBER 20
Etat Etat de bien VARCHAR 20
Prix_bien Prix de bien MONNAIE 30
Nature_sol Nature du sol VARCHAR 20
Suface Surface du sol VARCHAR 20
Num_etage Numéro d’étage NUMBER 20
Nbr_ch Nombre de chambre VARCHAR 50

43
Chapitre.3 –Analyse et conception

4.7. Modèle relationnel de données


Pour traduire notre diagramme de classes en un schéma relationnel, nous appliquerons
les règles de passage indiquées ci-dessous.

4.7.1. Passage d’un diagramme de classes UML à un schéma relationnel


Règles :
R1 : Chaque classe du diagramme UML devient une relation. Il faut choisir un attribut de la
classe pouvant jouer le rôle d’identifiant. Si aucun attribut ne convient entant qu’identifiant, il
faut en ajouter un de telle sorte que la relation dispose d’une clé primaire.
 Transformation des associations Les règles de transformation que nous allons voir
dépendent des cardinalités des associations. Nous distinguons trois familles
d’associations : un-à-plusieurs, plusieurs-à-plusieurs ou classes-associations, et n-
aires , un-à-un.
 Associations un-à-plusieurs
R2 : Il faut ajouter un attribut de type clé étrangère dans la relation fils de l’association.
L’attribut porte le nom de la clé primaire de la relation père de l’association.
 Associations plusieurs-à-plusieurs et n-aires ()
R3 : La classe-association devient une relation dont la clé primaire est composée par la
concaténation des identifiants des classes connectés à l’association. Chaque attribut devient
clé étrangère si la classe connectée dont il provient de vient une relation en vertu de la règle
R1. Les attributs ne sont ni clé primaire, ni clé étrangère.
 Associations un-à-un
R4 : La règle permet d’éviter les valeurs NULL dans la base de données.
Il faut ajouter un attribut clé étrangère dans la relation dérivée de la classe ayant la
multiplicité minimale égale à un. L’attribut porte le nom de la clé primaire de la relation
dérivée de la classe connectée à l’association.
Si les deux multiplicités minimales sont à zéro, le choix est donné entre les deux relations
dérivées de la règle R1.Si les deux cardinalités minimales sont à un, il est sans doute
préférable de fusionner les deux classes en une seule.

44
Chapitre.3 –Analyse et conception

Voici un résumé des différentes tables créées pour la réalisation du diagramme de classe :
Clients(id_clt, nom_per, prenom, date_nais, lieu_nais, num_cn, adresse, num_tel )
Maison (id_bien, fonction, prix, lieu, nbr_façade, etat, nbr_etage,nbr_ch, id_clt#)
appartement (id_bien, fonction, prix, lieu, nbr_façade, etat, num_etage, nbr_ch, id_clt#)
terrian (_bien, Surface, fonction, prix, lieu, nbr_façade, etat,nature_sol, id_clt#)
entrepot (id bien, Surface, fonction, prix, lieu, nbr_façade, etat ,id_clt#)

5. Conclusion
Dans ce chapitre, nous avons pu concevoir un système d'information pour la gestion de
l’agence immobilière en se basant sur les diagrammes du langage UML à savoir le diagramme
de cas d'utilisation, , le diagramme de séquence, le diagramme d’activité et le diagramme de
classe.

45
Chapitre 4 –Réalisation

1. Introduction
L’étape de l’implémentation et de la réalisation est la dernière de notre projet. On la considère
comme étant l’étape la plus cruciale puisqu’elle traite l’onglet pratique du projet.
Commençons d’abord, par une brève illustration de l’environnement de travail ainsi que
l’ensemble des logiciels que nous avons utilisé dans la réalisation de l’application et l’implémentation
de la base de données, puis passons à un aperçu des interfaces les plus importantes de notre
application.

2. Outils et langages de développements


2.1. Wamp Server
Wamp Server est une plateforme de développement web de type WAMP, permettant de faire
fonctionner localement (sans se connecter à un serveur externe) des scripts PHP.Wamp Server n’est
pas en soi un logiciel, mais un environnement comprenant deux serveurs (apache et MySQL), un
interpréteur de script(PHP), ainsi que PhpMyAdmin pour l’administration web des bases MySQL. Il
dispose d’une interface d’administration permettant de gérer et d’administrer ses serveurs à travers un
tray-icon (icône près de l’horloge de Windows) [w5].

Figure 29 Les composants de wamp

2.1.1. Présentation du système de gestion de bases de données MySQL

MySQL est un système de gestion de bases de données relationnelles performant et puissant, doté
d’une grande facilité d’utilisation et d’une architecture client/ serveur qui comprend un serveur de
bases de données multitâches et multi-utilisateurs, ainsi que divers programmes clients. Il ne s’agit pas
donc d’un simple langage de base de données, bien que MySQL utilise SQL, un standard parmi les
langages de base de données. Ce langage permet de définir, de manipuler et de sécuriser les données.

46
Chapitre 4 –Réalisation

2.1.2. Principe de fonctionnement

Le serveur MySQL [16] est le gestionnaire du système de base de données. C’est lui qui manipule
toutes les instructions adressées à la base de données. Par exemple, si on veut créer une nouvelle base
de données, il faut envoyer un message au serveur MySQL disant : " Crée une nouvelle base de
données que tu appelleras nouvelle base ".
Le serveur MySQL crée alors un sous répertoire dans son dossier de données, lui donne le nom "
nouvelle base" et crée les fichiers nécessaires au format requis dans ce nouveau sous répertoire.
De la même façon, pour ajouter des données à cette base de données, vous envoyez un message au
serveur MYSQL en lui fournissant les données et en lui disant dans quel endroit vous voulez qu’elles
soient rangées.
Le dialogue avec la base de données s’effectue en passant des messages au serveur
MySQL.
Ces messages peuvent être envoyés de différentes façons, par exemple, via PHP. Il existe des
instructions dans ce langage pour adresser des messages au serveur MySQL.

2.1.3. Avantages de MySQL

• La rapidité constitue son principal atout. MySQL permet de traiter et de maintenir de grosses bases
de données avec une grande fiabilité.
• MySQL est conçu comme un système multithread et peut donc utiliser une machine dotée de
plusieurs processeurs.
• Il possède aussi une grande portabilité lui permettant d’être installé sur divers systèmes
d’exploitation.
• MySQL a été développé dans le cadre des logiciels open source.
• De nombreux langages de programmation disposant d’une API (Application Programming
Interface) permettant de travailler directement avec MySQL, c’est notamment le cas pour le PHP [17].

47
Chapitre 4 –Réalisation

2.1.4. Exemple de tables de bases de données

La figure en dessous représente un ensemble des tables d’une base de données :

Figure 30 Exemple de tables de bases de données

2.1.5. Connecteur JDBC

Pour accéder à la base de données, JPA utilise un connecteur. Pour les bases de données
relationnelles, le connecteur utilisé est JDBC. Il faut configurer ce connecteur de la manière suivante :
- Lui donner un nom unique permettant à l’application de le référencer comme une source de données.
- Définir un pool de connexion, c’est-à-dire un ensemble de liens prédéfinis entre le serveur
d’applications et le serveur de bases de données qui pourront être utilisés par l’application.
La configuration du pool de connexion consiste à donner l’adresse du serveur de bases de données, le
nom de la base à laquelle accéder ainsi qu’un login/mot de passe d’accès [18].

2.2. Java :
Nous avons utilisé le langage de programmation java [19] qui est un langage à usage général,
évolué et orienté objet et qui reprend en grande partie la syntaxe du langage C++.
Java possède les avantages suivants :
- Robustesse : le langage fournit des structures facilitant l’élimination des bugs.
- Portabilité : un processus java s’exécute dans un environnement virtuel le rendant indépendant de
spécificités effectives.
- Dynamicité : un programme java peut facilement s’enrichir sans avoir besoin d’être arrêté.

48
Chapitre 4 –Réalisation

2.3. NetBeans :

Nous allons à programmer en java on utilisant NetBeans, qui est un environnement de


développement intégré c.-à-d. une application qui propose dans un même système de fenêtrage des
outils qui facilite la tâche de développeur par exemple il propose :
- Un éditeur de texte avec coloration syntaxique : il colorie automatiquement les mots clé utilisé et les
éléments syntaxiques important de langage.
- Auto complétion : il propose sous certain condition les choix d’écriture disponible de l’instruction en
cours d’écriture.
- Fenêtre de compilation.
- Fenêtre d’exécution : qui permet de visualiser les résultats de l’application.
 Fonctions de NetBeans

- Configuration et gestion de l’interface graphique des utilisateurs.


- Support de différents langages de programmation.
- Traitement de code source (édition, navigation, formatage, inspection, etc.).
- Fonctions d’import/export depuis et vers d’autres IDE, tels qu’Eclipse ou JBuilder.
- Accès et gestion de bases de données, serveur Web, ressources partagées.
- Gestion de taches.
- Documentation intégrée.
 Avantages de NetBeans

- Distribuer en code open source.


- Entièrement gratuit.
- Sa facilité d’installation et d’usage.

2.4. Jdk

Java Développent Kit [19] est l’environnement dans lequel le code Java est compilé pour être
transformé en byte code afin que la machine virtuelle JAVA (JVM) puisse l’interpréter.
Les composants primaires du JDK sont une sélection d’outils de programmation, incluant :
- Javac : le compilateur, qui convertit le code source en fichier .class (contenant le byte code Java).
- Jar : l’archiveur, qui met sous forme d’un paquetage unique l’ensemble des fichiers class en un
fichier JAR.
- Javadoc : le générateur de documentation, qui génère automatiquement de la documentation à partir
des commentaires du code source.
- Jdb : le débogueur.

49
Chapitre 4 –Réalisation

2.5. EDI

On appelle EDI (ou IDE), acronyme de " Environnement de développement intégré " l’interface
qu’offre Delphi pour aider l’utilisateur à construire son application. Cette interface ressemble plus à un
atelier où l’on dispose d’une boîte à outils et d’un ensemble d’objets qui servent à fabriquer une
application. On n’écrit pas une application mais on la fabrique.
- C’est un langage très évolue de niveau haut.
- Intégration d’un BDE pour les applications qui utilise les bases de données.
- Contient une grande bibliothèque des composantes visuelles et non visuelle.

3. Présentation de quelques interfaces de notre application


Dans cette section, nous présentons quelques interfaces de notre application que nous avons
réalisée.

3.1. Page d’authentification

C’est l’interface principale de l’application, elle permet à l’administrateur d’accéder à l’application


en saisissant un login et un mot de passe pour s’authentifier. Depuis cette page, il pourra accéder aux
autres interfaces.

Figure 31 Page d’authentification

50
Chapitre 4 –Réalisation

3.2. Page d’accueil

À partir de cette page l’agent peut accéder à la liste des clients, liste des maisons, liste des
appartements, liste des terrains et liste des entrepôts.

Figure 32 Page d’accueil

3.3. Page client

Dans cette interface l’agent a la possibilité de :

 ajouter un nouveau client en remplissant les champs (id_clt,nom………) puis en cliquant sur
le bouton ajouter .
 modifier un client : en cliquant sur la ligne de liste des clients qu’il on choisit un, ensuite les
données de cette dernière seront afficher chacune dans son champ, et l’agent pourra changer la
donnée qu’il veut après la modification il clique sur le bouton modifier.

51
Chapitre 4 –Réalisation

 supprimer un client : en cliquant sur la ligne de liste des clients qu’il on choisit un, puis en
cliquant sur le bouton.

 rechercher un client : la recherche ce fait par catégorie on désignant la valeur du champ saisir
dans la catégorie de recherche.

Figure 33 Page liste des clients

52
Chapitre 4 –Réalisation

3.4. Page liste des maisons

A partir de cette interface en peut accéder à la liste des appartements,


Dans cette interface l’agent a la possibilité d’ajouter un nouvelle maison en remplissant les
champs(id_clt,fonction,prix………) puis en cliquant sur le bouton ajouter , elle donne aussi la
possibilité de modifier un client en cliquant sur la ligne de liste des maison qu’il on choisit une,
ensuite les données de cette dernière seront afficher chacune dans son champ ,et l’agent pourra changé
la donnée qu' il veut après la modification il clique sur le bouton modifier.

Cette interface donne aussi à l’agent la possibilité de supprimer et de rechercher une maison.

Figure 34 Page liste des maisons

53
Chapitre 4 –Réalisation

4. Conclusion

Dans ce chapitre, nous avons présenté les outils de développement que nous avons utilisé dans la
réalisation de notre application, tout en justifiant nos choix technologiques. En effet, l’utilisation du
MySQL et du java sous NetBeans comme environnement de développement.
A la fin de ce chapitre, nous avons présenté quelques interfaces, constituants notre application, et
que nous avons jugé les plus importantes.

54
Conclusion générale et perspectives

Conclusion générale
Dans ce travail nous avons réalisé une application pour la gestion d’une agence
immobilière« LE CAP » situé à Aokas.
La première partie de notre travail a visé la présentation des généralités sur les
systèmes d’information et les bases de données.
En second lieu nous avons présenté l’agence immobilière LE CAP, ses missions, ses
activités ainsi que ses problèmes, à la fin de ce chapitre nous avons définis l’objectif de notre
travail.
Dans le troisième chapitre, nous avons introduit le langage de modélisation UML2 et
le processus unifié qu’on a suivi durant tout le processus de développement.
Après ceci, nous avons fait une spécification et analyse des fonctionnalités de
l’application à travers les diagrammes de cas d’utilisation, de séquence et d’activité.

Dans la dernière partie, nous avons entamé la conception statique dans laquelle nous
avons décrit le diagramme de classes associé au projet, suivi du modèle relationnel de
données obtenu par l’application des règles de passage.

En fin nous avons réalisé notre application en utilisant plusieurs outils de


développement dédiés à la programmation.

Nous espérons que cette application nous a permis de répondre aux exigences des usagers
et de simplifier la tâche de gestion à l’administrateur.

Cette expérience nous a permis d’acquérir des compétences et d’enrichir nos


connaissances dans le domaine du développement. Ceci nous a permis de mettre en œuvre une
application assurant les fonctionnalités attendues, donc nous pouvons affirmer l’atteinte des
objectifs visés par ce travail.
Comme perspectives, nous souhaitons l’automatisation de notre application.

55
Bibliographie

Bibliographie

[1] : GUIBERT Olivier, « Cours d’Analyse et Conception des Systèmes d’informations »,


département informatique de IUT de l’université Bordeaux 1 ,7novembre 2007.
[2] : GARDARIN Georges, « base de données-objet/relationnel», Edition Eyrolles, Paris
1999.

[3] : Gilles Roy, conception de bases de données UML, presses de l’université de Québec, 1e
édition, 2009.

[4] : Nicolas Larrousse CNRS avec la contribution d’Éric Innocenti Université de Corse
Pasquale Paoli, création de la base de données, pearson Education France, 2009.

[5] : Christian SOUTOU, UML2 pour les bases de données, édition Eyrolles, 2012.

[6] : Nicolas LARROUSE, «création de base de données », Pearson, 2009.

[7] : Joseph Gabay, David Gabay « UML2 analyse et conception, Mise en œuvre guidée avec
Études de cas », Edition : DUNOD 2008.

[8] : Xavier Blanc, Isabelle Mounier «UML2 pour les développeurs », Edition : EYROLLES
2006.

[10] : Pascal Roques, Franck Vallée « UML2 en action, De l’analyse des besoins à la
Conception», Edition : EYROLLES 2007.

[11] : Pascal Roques, "UML2 Modéliser une application Web", 3edition EYROLLES, 2000.

[12] : Pascal. Roques, "Les cahiers du programmeur UM2, modélisé une application
Web",4eme édition, EYROLLES, 2007.

[13] : Pascal. Roque, " ULM 2 en action, de l’analyse des besoins à la conception ", 4éme
Édition. EYROLLES, 2009.

[14] : Rémy. Fanader et Hervé. Leroux, "UML principes de modélisation", DUNOD, paris",
1999.

[15] : Pascal. Roques, "UML2 par la pratique", Edition EYROLLES.Paris 5, 2006.

[16] :P. Rigaux, pratique de MySQL et PHP, DUNOD 2009.


[17] : Jean Michel Aquilina, "Aide -mémoire MYSQL", Novembre 2002.

[18] : BENSAHLA. TANI Hidayet, DIB. Nesrine, Mémoire de Licence en Informatique


Gestion d’emploi du temps des soutenances le 09 Juin 2014.

[19] : Doudoux. M, Développons en java .livre, 2013.

56
Bibliographie

[W1]: http://jchambon.fr/Textes/00-COURS_SI_Syst_Info.pdf

[W2]: http://www.commentcamarche.net/contents/104-bases-de-donnees-introduction

[W3]: http://www.commentcamarche.net/contents/105-les-modeles-de-sgbd

[W4]: http://www.commentcamarche.net/contents/102-les-niveaux-de-donnees

[w5]: www.maxiscience.com/wampserveur/tout-savoir.html.

57