Excel 如何以编程方式向场景添加上下文引用
我目前正在将导入器脚本Simple VBA Excel从bellekens修改为EA导入器v4 我成功地导入了一个包含场景和场景步骤的用例。我正在寻找一种以编程方式添加上下文引用的方法 我目前正在使用用例属性>规则>场景>上下文引用手动添加它们 有没有办法从API中添加这些上下文引用?我在 基本上,如果您将参与者与用例关联,它将显示在上下文引用表中 要以编程方式创建条目,我只需以编程方式在您的用例和actor之间添加链接。我实际上编写了一个这样做的程序。它查看逻辑类模型,并在用例场景步骤使用该类名时向其添加上下文引用 这是进行实际链接的部分:Excel 如何以编程方式向场景添加上下文引用,excel,vba,import,enterprise-architect,object-model,Excel,Vba,Import,Enterprise Architect,Object Model,我目前正在将导入器脚本Simple VBA Excel从bellekens修改为EA导入器v4 我成功地导入了一个包含场景和场景步骤的用例。我正在寻找一种以编程方式添加上下文引用的方法 我目前正在使用用例属性>规则>场景>上下文引用手动添加它们 有没有办法从API中添加这些上下文引用?我在 基本上,如果您将参与者与用例关联,它将显示在上下文引用表中 要以编程方式创建条目,我只需以编程方式在您的用例和actor之间添加链接。我实际上编写了一个这样做的程序。它查看逻辑类模型,并在用例场景步骤使用该类
function linkDomainClassesWithUseCases(dictionary,regExp,usecases)
Session.Output usecases.Count & " use cases found"
dim usecase as EA.Element
'loop de use cases
for each usecase in usecases
Repository.WriteOutput "Link to Logical Data Model", "Processing use case: " & usecase.Name, 0
'first remove all automatic traces
removeAllAutomaticTraces usecase
'get all dependencies left
dim dependencies
set dependencies = getDependencies(usecase)
dim scenario as EA.Scenario
'loop scenarios
for each scenario in usecase.Scenarios
dim scenarioStep as EA.ScenarioStep
for each scenarioStep in scenario.Steps
'first remove any additional terms in the uses field
scenarioStep.Uses = removeAddionalUses(dependencies, scenarioStep.Uses)
dim matches
set matches = regExp.Execute(scenarioStep.Name)
dim classesToMatch
set classesToMatch = getClassesToMatchDictionary(matches, dictionary)
dim classToMatch as EA.Element
for each classToMatch in classesToMatch.Items
Session.Output "scenarioStep.Uses before " & scenarioStep.Uses
if not instr(scenarioStep.Uses,"LDM-" & classToMatch.Name) > 0 then
if len(scenarioStep.Uses) > 0 then
'add a space if needed
scenarioStep.Uses = scenarioStep.Uses & " "
end if
'add the name of the class
scenarioStep.Uses = scenarioStep.Uses & "LDM-" & classToMatch.Name
end if
'create the dependency between the use case and the Logical Data Model class
linkElementsWithAutomaticTrace usecase, classToMatch
Session.Output "adding link between " & usecase.Name & " and Logical Data Model class " & classToMatch.Name & " because of step " & scenario.Name & "." & scenarioStep.Name
next
'save scenario step
scenarioStep.Update
scenario.Update
next
next
next
end function
function linkElementsWithAutomaticTrace(sourceElement, TargetElement)
dim trace as EA.Connector
set trace = sourceElement.Connectors.AddNew("","trace")
trace.Alias = "automatic"
trace.SupplierID = TargetElement.ElementID
trace.Update
end function