Powerd911 – Numéro #1 au Canada

Création d’un modèle MOO (classe/attributs/opérations)

Ces quelques lignes de code en Visual Basic permettent de créer un modèle MOO, puis une classe avec des attributs et des opérations.

Compatible avec PowerDesigner/PowerAMC 16.5

'* Nom du fichier : CREER_MOO.vbs
'* Définition : Le script suivant créer un modèle MOO, puis crée une classe
'*              avec des attributs et des opérations
'* Auteur: Benoît Le Nabec
'* URL : http://www.Powerd911.guru
'* Créé: 2015-07-01
'* Version: 1.0
'***********************************************************************

ValidationMode = True 'Force PowerAMC à valider des actions et renvoyer des erreurs en cas d'action interdite
InteractiveMode = im_Batch ' Supprime des boîtes de dialogue PowerAMC

' Fonction princpale

' Crée un MOO avec un diagramme de classes
Dim Model

Set model = CreateModel(PdOOM.cls_Model, "|Diagram=ClassDiagram")

model.Name = "Gestion clients"
model.Code = "GestionClients"

' Récupère de la diagramme de classes
Dim diagram

Set diagram = model.ClassDiagrams.Item(0)

' Crée les classes
CreateClasses model, diagram

' Fonction de création des classes
Function CreateClasses(model, diagram)

' Crée une classe
Dim cls

Set cls = model.CreateObject(PdOOM.cls_Class)
cls.Name = "Client"
cls.Code = "Client"
cls.Comment = "Classe client"
cls.Stereotype = "Class"
cls.Description = "La classe client définit les attributs et comportements d'un client."
' Création des attributs
CreateAttributes cls
' Création des méthodes
CreateOperations cls
' Création d'un symbole pour la classe
Dim sym
Set sym = diagram.AttachObject(cls)
CreateClasses = True
End Function


' Fonction de création d'attributs
Function CreateAttributes(cls)
Dim attr

Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "ID"
attr.Code = "ID"
attr.DataType = "int"
attr.Persistent = True
attr.PersistentCode = "ID"
attr.PersistentDataType = "I"
attr.PrimaryIdentifier = True

Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "Nom"
attr.Code = "Nom"
attr.DataType = "String"
attr.Persistent = True
attr.PersistentCode = "NOM"
attr.PersistentDataType = "A30"

Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "Téléphone"
attr.Code = "Telephone"
attr.DataType = "String"
attr.Persistent = True
attr.PersistentCode = "TELEPHONE"
attr.PersistentDataType = "A20"

Set attr = cls.CreateObject(PdOOM.cls_Attribute)
attr.Name = "Email"
attr.Code = "Email"
attr.DataType = "String"
attr.Persistent = True
attr.PersistentCode = "EMAIL"
attr.PersistentDataType = "A30"
CreateAttributes = True
End Function


' Fonction de création des opérations
Function CreateOperations(cls)
Dim oper

Set oper = cls.CreateObject(PdOOM.cls_Operation)
oper.Name = "GetName"
oper.Code = "GetName"
oper.ReturnType = "String"

Dim body

body = "{" + vbCrLf
body = body + " return Name;" + vbCrLf
body = body + "}"
oper.Body = body

Set oper = cls.CreateObject(PdOOM.cls_Operation)
oper.Name = "SetName"
oper.Code = "SetName"
oper.ReturnType = "void"

Dim param

Set param = oper.CreateObject(PdOOM.cls_Parameter)
param.Name = "nouvNom"
param.Code = "nouvNom"
param.DataType = "String"
body = "{" + vbCrLf
body = body + " Name = nouvNom;" + vbCrLf
body = body + "}"
oper.Body = body
CreateOperations = True
End Function


Résultat :

MOO1

MOO

 

Laisser un commentaire