ChatGPT et diagrammes système

Utilisation de ChatGPT pour créer des diagrammes système 

Photo de Christina @ wocintechchat.com sur Unsplash
Utiliser la définition de cas
définition du modèle de données
Structure de données
syntaxe sirène pour les relations de données
modèle de données en sirène
diagramme de séquence pour une transaction d’achat
diagramme de séquençage
Diagramme de séquençage
représentation sirène du diagramme d’état
représentation de la démarque
  • L’état initial est [*]qui dénote l’état de départ.
  • Le compte peut passer d’ Newun état à Activel’autre en l’activant.
  • Le compte peut passer d’ Newun état à Closedl’autre en le fermant.
  • Le compte peut passer d’ Activeun état à Inactivel’autre en le désactivant.
  • Le compte peut passer d’ Activeun état à Closedl’autre en le fermant.
  • Le compte peut passer d’ Inactiveun état à Activel’autre en l’activant.
  • Le compte peut passer d’ Inactiveun état à Closedl’autre en le fermant.
diagramme d’état étendu
  • Niveau de contexte, qui représente les facteurs externes qui interagissent avec le système
  • Niveau conteneur, qui représente les unités de déploiement et leurs dépendances
  • Niveau composant, qui représente les différents composants du système
  • Niveau de code, qui représente les détails de mise en œuvre du système

Le diagramme de contexte

diagramme de contexte
diagramme de contexte
  • Le Userinteragit avec les Account Management ServicePortfolio Management ServiceAsset Management Serviceet Transaction Management Service.
  • Le Financial Institutioninteragit également avec les Account Management ServicePortfolio Management ServiceAsset Management Serviceet Transaction Management Service.
  • Le Marketinteragit avec le Market Data Service.

Le diagramme du conteneur

Diagramme de conteneur
  • Le Portfolio Management APIest le point d’entrée permettant aux utilisateurs et aux autres systèmes d’interagir avec le service.
  • Le Portfolio Management Workerest chargé d’effectuer des tâches en arrière-plan, comme la mise à jour du portefeuille en fonction des évolutions du marché.
  • Le Portfolio Management Databasestocke les données relatives aux portefeuilles, comme les actifs détenus dans chaque portefeuille, leur valeur actuelle, etc.
  • Le Load Balancerdistribue le trafic entrant entre les instances de s’exécutant Portfolio Management APIdans le Kubernetes Cluster.
  • Le Kubernetes Clusterest responsable de la gestion de la mise à l’échelle, de la disponibilité et du déploiement des conteneurs.

Le diagramme des composants

Diagramme de composants pour l’API de gestion de portefeuille
  • Le API Gatewaycomposant de l’API de gestion de portefeuille est le point d’entrée pour les demandes entrantes.
  • Le Authenticationcomposant est responsable de l’authentification des utilisateurs.
  • Le Authorizationcomposant est chargé de vérifier les droits d’accès des utilisateurs.
  • Le Request Validatorcomposant est responsable de la validation des requêtes entrantes.
  • Le Business Logiccomposant est responsable du traitement des demandes et de l’exécution de la logique métier.
  • Le Response Formattercomposant se charge de formater les réponses avant de les renvoyer aux clients.
  • Le Portfolio Servicecomposant est responsable de l’exécution des opérations liées à la gestion des portefeuilles telles que la création, la lecture, la mise à jour et la suppression des portefeuilles, et il communique avec le Portfolio Management Databasepour conserver les données relatives aux portefeuilles.

Cela a l’air génial. La plupart des détails correspondent à ma compréhension. Essayons de construire la même chose pour Portfolio Management Worker

Diagramme des composants pour PM Worker
  • Le Task Schedulercomposant est responsable de la planification des tâches de fond de mise à jour des portefeuilles.
  • Le Portfolio Updatercomposant est responsable de la mise à jour des portefeuilles en fonction des évolutions du marché, il communique avec le Market Data Servicepour obtenir les dernières données du marché.
  • Le Market Data Servicecomposant est chargé de fournir les données de marché pour la mise à jour du portefeuille.
  • Le Portfolio Servicecomposant est responsable de l’exécution des opérations liées à la gestion des portefeuilles telles que la création, la lecture, la mise à jour et la suppression des portefeuilles, et il communique avec le Portfolio Management Databasepour conserver les données relatives aux portefeuilles.

Le diagramme de code

Graphique de code corrigé
Packages de code de l’API de gestion de portefeuille
  • Le apipackage est le point d’entrée de l’application, il définit les routes, et le middleware.
  • Le authpackage est responsable de l’authentification et de l’autorisation des requêtes.
  • Le configpaquet est responsable du chargement des fichiers de configuration.
  • Le controllerscolis se charge de traiter les demandes et d’appeler les services.
  • Le errorspackage définit les erreurs personnalisées.
  • Le middlewarepackage est chargé de fournir un middleware pour les requêtes telles que la gestion du CORS, la validation des requêtes, etc.
  • Le modelspackage définit les modèles ORM pour les entités de la base de données.
  • Le servicespackage est responsable de l’exécution de la logique métier et de la communication avec la base de données.
  • Le utilspackage fournit des fonctions utilitaires
Retour en haut