RAPPORT De Mémoire de Fin d’Etudes
Ce mémoire s’inscrit dans le domaine de l’informatique appliquée à la finance, plus précisément à la gestion des intermédiaires en bourse.
D'après le document RAPPORT De Mémoire de Fin d’Etudes
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.
Document source
Informatique, Système de gestion, Bourse · PDF · 88 pages · 2012
Afficher l'aperçu du document
Ce mémoire s’inscrit dans le domaine de l’informatique appliquée à la finance, plus précisément à la gestion des intermédiaires en bourse. Il intéressera particulièrement les étudiants et professionnels souhaitant comprendre comment concevoir un système informatique robuste pour le back office d’une société d’intermédiation boursière, en s’appuyant sur des méthodes modernes comme le Domain-Driven Design (DDD) et l’architecture orientée services (SOA).
La question
Le projet vise à répondre à un besoin crucial : la mise en place d’un système de gestion pour un intermédiaire en bourse, avec un focus particulier sur le développement du back office. Ce système doit être capable de gérer efficacement les flux d’informations sensibles, respecter la réglementation stricte en vigueur en Tunisie, et offrir une solution fiable et performante pour traiter les ordres, les clients, les liquidités et les exécutions. L’enjeu est important car la bourse joue un rôle majeur dans l’économie, en facilitant la rencontre entre investisseurs et émetteurs de titres, mais elle nécessite un contrôle rigoureux et une gestion précise des opérations.
Concepts de base
Pour comprendre ce travail, il est essentiel de saisir plusieurs notions clés liées à la bourse et à la conception logicielle :
La bourse et les marchés financiers
La bourse est un marché où s’échangent des titres financiers comme les actions et les obligations. Elle assure la liquidité des titres, permettant aux émetteurs de lever des fonds et aux investisseurs d’acheter ou vendre rapidement leurs actifs. En Tunisie, la Bourse des Valeurs Mobilières de Tunis (BVMT) organise et régule ces échanges en garantissant la transparence et la sécurité.
Les valeurs mobilières
- Actions : titres de propriété d’une entreprise, donnant des droits proportionnels au nombre d’actions détenues.
- Obligations : titres de créance représentant un emprunt fait par l’entreprise. Le détenteur d’obligations est créancier et bénéficie d’une rémunération sous forme d’intérêts, mais n’a pas de droits de gestion ou de vote.
Ordres de bourse
Un ordre de bourse est une instruction donnée par un client à un intermédiaire pour acheter ou vendre des titres. Il comprend plusieurs éléments obligatoires :
- Le sens de l’opération (achat ou vente)
- La nature des titres (code ISIN)
- La quantité
- Le client
- La validité de l’ordre (jour, révocation, date précise)
- Les conditions de prix (à tout prix, à cours limité, etc.)
Les ordres peuvent avoir différentes conditions de prix, par exemple :
- Ordre à cours limité : prix maximal ou minimal fixé, permettant de contrôler le prix d’exécution.
- Ordre à tout prix : sans limite de prix, prioritaire à l’ouverture mais sans contrôle du prix.
- Ordre à la meilleure limite : s’adapte au meilleur prix disponible sur le marché.
- Ordres stop (stop limit, stop loss) : déclenchent l’exécution à partir d’un seuil de prix défini.
Types de clients
La bourse tunisienne distingue plusieurs types de clients, notamment :
- Clients libres ou gérés, de nationalité tunisienne ou étrangère
- Teneurs de marché
- Comptes propres
- Comptes OPCVM (Organisme de Placement Collectif en Valeurs Mobilières)
Liquidité et portefeuille boursier
La liquidité désigne la capacité à acheter ou vendre rapidement un actif sans affecter fortement son prix. Le portefeuille boursier représente l’ensemble des titres détenus par un agent économique.
Domain-Driven Design (DDD)
Le Domain-Driven Design est une approche de conception logicielle qui met le domaine métier au centre du développement. Elle vise à créer un modèle logiciel qui reflète fidèlement les concepts et règles du domaine, en favorisant une collaboration étroite entre experts métier et développeurs.
Comprendre le domaine métier
Pour concevoir un logiciel adapté, il faut d’abord bien comprendre le domaine d’activité. Cela nécessite la création d’un modèle représentatif, fruit d’un travail collaboratif entre spécialistes métier et informaticiens. Cette étape est indispensable pour éviter les incompréhensions et produire un logiciel pertinent.
Le langage omniprésent (Ubiquitous Language)
Pour faciliter la communication entre tous les acteurs du projet, DDD propose d’établir un langage commun, intégrant termes métiers et concepts techniques. Ce langage est utilisé tout au long du développement pour garantir la cohérence et la clarté.
Concevoir le modèle métier
Le modèle métier est une abstraction organisée des connaissances du domaine. Sa conception s’effectue souvent lors d’ateliers réunissant experts métier, architectes et développeurs, en s’appuyant sur le langage omniprésent. Les développeurs apportent un retour technique pour assurer la faisabilité du modèle.
Conception dirigée par le modèle
Une fois le modèle métier établi, il faut le traduire en code. Cette étape est délicate et nécessite une architecture solide. DDD recommande une architecture en couches, où la logique métier est isolée dans une couche dédiée, indépendante des couches de présentation ou d’infrastructure.
Architecture en couches
L’architecture proposée comporte quatre couches distinctes :
- Couche domaine : contient la logique métier et les règles du domaine.
- Couche applicative : gère l’état de l’interface utilisateur et la communication avec le domaine.
- Couche infrastructure : fournit les services techniques (sécurité, gestion des logs, cache, etc.) sans logique métier.
- Couche présentation : interface utilisateur.
Entités et objets valeurs
Dans DDD, une entité est un objet avec une identité unique qui persiste dans le temps. Un objet valeur est un objet sans identité propre, défini uniquement par ses attributs.
Approche
Le mémoire décrit une démarche méthodique pour concevoir et réaliser le back office d’un intermédiaire en bourse. Cette démarche s’appuie sur :
- Une étude préliminaire pour comprendre le contexte métier et l’environnement technique, notamment la société CybEx Solutions et ses produits.
- La capture des besoins fonctionnels et techniques, avec identification des acteurs, cas d’utilisation, contraintes et exigences.
- Une analyse approfondie, incluant le découpage en catégories métier (clients, ordres, exécutions, liquidités), la modélisation statique (diagrammes de classes) et dynamique (diagrammes de séquence).
- Une conception détaillée basée sur le Domain-Driven Design, avec définition des contextes bornés (Bounded Contexts) et utilisation de patrons de conception (design patterns) comme MVVM et Specification.
- La réalisation technique sous environnement .NET, avec développement des modules fonctionnels (gestion des valeurs, contrats, clients, ordres, exécution manuelle, liquidités) et intégration des interfaces utilisateur.
Cette approche vise à garantir une solution modulaire, évolutive et conforme aux besoins métier et réglementaires.
Résultats
Le travail a abouti à la mise en place d’un système de back office fonctionnel pour un intermédiaire en bourse, intégrant :
- Un module d’authentification sécurisé.
- Des modules de gestion des valeurs mobilières, contrats, clients et ordres, permettant la saisie, modification et suivi des opérations.
- Un module d’exécution manuelle des ordres, avec gestion des cas particuliers.
- Un module de gestion des liquidités et des ordres de paiement.
- Une interface utilisateur riche et ergonomique, facilitant la prise en main par les opérateurs.
- Une architecture logicielle respectant les principes du Domain-Driven Design et de l’architecture orientée services, assurant robustesse et maintenabilité.
Ces résultats suggèrent que l’approche choisie est adaptée pour répondre aux exigences complexes du domaine boursier et pour produire un logiciel fiable et performant.
Limites et questions ouvertes
Le mémoire souligne la complexité du domaine boursier et la difficulté pour un développeur d’acquérir rapidement toutes les connaissances nécessaires. La collaboration étroite avec les experts métier est donc indispensable. Par ailleurs, la transformation du modèle métier en code reste une étape délicate qui peut impacter la qualité finale du logiciel.
Enfin, bien que la solution développée soit fonctionnelle, le mémoire ne traite pas en détail des aspects liés à la montée en charge, à la sécurité avancée, ni à l’intégration avec d’autres systèmes externes. Ces points restent ouverts pour des travaux futurs.
Glossaire
- Back Office : Partie d’un système informatique qui gère les opérations internes et le traitement des données, en arrière-plan par rapport à l’interface utilisateur.
- Bourse : Marché organisé où s’échangent des titres financiers.
- Domain-Driven Design (DDD) : Approche de conception logicielle centrée sur la modélisation du domaine métier.
- Entité (Entity) : Objet métier avec une identité unique persistante.
- Objet valeur (Value Object) : Objet défini uniquement par ses attributs, sans identité propre.
- Intermédiaire en bourse : Société autorisée à transmettre les ordres d’achat et de vente sur le marché boursier.
- Langage omniprésent (Ubiquitous Language) : Langage commun utilisé par tous les acteurs du projet pour éviter les malentendus.
- Ordre de bourse : Instruction donnée pour acheter ou vendre des titres.
- SOA (Service-Oriented Architecture) : Architecture logicielle basée sur des services indépendants et réutilisables.
- Valeurs mobilières : Titres financiers négociables, comme les actions et obligations.
Commentaires
Aucun commentaire pour le moment. Posez la première question.