Как генерировать диаграмму последовательностей из существующего проекта SparxEA?(Прочитано 4252 раз)
Как генерировать диаграмму последовательностей из существующего проекта?


Я попробовал разобраться с документацией.
Я построил диаграмму последовательностей.
Я получаю


Это всё?
(Полное изображение: https://i.ibb.co/Cvj0SHG/image.png)


Мои ожидания: увидеть на диаграмме детальную работу метода **Worker()** класса **ParserWorker**
Путь: Node_Root.Package1.Parser.Core.ParserWorker


Проект:
Папка:  c:\ProjectTest\5214\ParserExtrem\Project\
Github: https://github.com/jhon65496/ParserSequenceDiagrams



Использую:
Sparx Systems Enterprise Architect -15.2

Класс: ParserWorker;
Метод: Worker();
private async void Worker()
{
    for(int i = parserSettings.StartPoint; i <= parserSettings.EndPoint; i++)
    {
        if (!isActive)
        {
            OnCompleted?.Invoke(this);
            return;
        }

        var source = await loader.GetSourceByPageId(i);
        var domParser = new HtmlParser();

        var document = await domParser.ParseAsync(source);

        var result = parser.Parse(document);

        OnNewData?.Invoke(this, result);
    }

    OnCompleted?.Invoke(this);
    isActive = false;
}



Процесс построения диаграммы









































Step-1


Step-2


Step-3








Result







С Марсу кажется, что ручное переписывание кода метода в конструкции диаграммы последовательности сработало бы быстрее.

Если что,  я не шарю в C# и в егойном Invoke
Код для https://sequencediagram.org
[->ParserWorker:Worker()
loop for i in parserSettings.StartPoint..parserSettings.EndPoint
  break isActive
  note over ParserWorker: выход из цикла
  end
  ParserWorker->loader:GetSourceByPageId(i)
  loader-->ParserWorker:source
  ParserWorker-->*HtmlParser:new
  ParserWorker->HtmlParser:ParseAsync(source)
  HtmlParser-->ParserWorker:document
  ParserWorker->parser:Parse(document)
  parser-->ParserWorker:result
  opt OnNewData != NULL
   ParserWorker->OnNewData:Invoke(this, result)
  end 
end
opt OnCompleted != NULL
   ParserWorker->OnCompleted:Invoke(this)
end
ParserWorker->ParserWorker:isActive = FALSE
[<--ParserWorker:return
[...и улетело НЛО.]



===
@startuml
[-> ParserWorker : Worker()
loop for i in parserSettings.StartPoint..parserSettings.EndPoint
  break isActive
  note over ParserWorker: выход из цикла
  end
  ParserWorker -> loader : GetSourceByPageId(i)
  loader --> ParserWorker : source
  create HtmlParser
  ParserWorker --> HtmlParser : new
  ParserWorker -> HtmlParser : ParseAsync(source)
  HtmlParser --> ParserWorker : document
  ParserWorker -> parser : Parse(document)
  parser --> ParserWorker : result
  opt OnNewData != NULL
   ParserWorker -> OnNewData : Invoke(this, result)
  end
end
opt OnCompleted != NULL
   ParserWorker -> OnCompleted : Invoke(this)
end
ParserWorker -> ParserWorker : isActive = FALSE
[<-- ParserWorker:return
@enduml
===
[...и улетело НЛО.]




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19