我目前正在從bellekens修改進口商腳本簡單的VBA Excel來EA進口商V4。如何上下文引用添加到場景編程
我已成功導入包含場景和場景步驟的用例。我正在尋找一種以編程方式添加上下文引用的方式。
我現在將它們手動添加到用例屬性>規則>方案>上下文引用中。
有沒有辦法從API添加論文引用方面?
我目前正在從bellekens修改進口商腳本簡單的VBA Excel來EA進口商V4。如何上下文引用添加到場景編程
我已成功導入包含場景和場景步驟的用例。我正在尋找一種以編程方式添加上下文引用的方式。
我現在將它們手動添加到用例屬性>規則>方案>上下文引用中。
有沒有辦法從API添加論文引用方面?
我發現http://sparxsystems.com/forums/smf/index.php?topic=4735.0
Basicly答案,如果你是演員的使用情況下,它的背景下,參考表顯示了關聯。
創建條目programmatical只是以編程方式添加您的用例和演員之間的鏈接。
我實際上寫了一個VBScript那樣做。它會查看邏輯類模型,並在該用例情景步驟使用該類名時向其添加上下文引用。
這裏的那部分進行實際的鏈接:
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