Add support to Business Use Case

0 votes
asked Oct 3, 2020 in Wanted features by anonymous
Hello!

Will it be one day possible to do business use case diagram in PlantUML? So, support for crossed (business) actors and crossed (business) use cases?

Reference : http://sce.uhcl.edu/helm/RationalUnifiedProcess/process/modguide/images/bucm4.gif

Thanks for a great documentation tool!

1 Answer

0 votes
answered Oct 4, 2020 by plantuml (295,760 points)
This should not be too difficult to implement.

The most difficult part is to find a nice syntax and we are out of inspiration here :-)

Any suggestion ? Feel free to post some possible syntax examples!

Thanks
commented Oct 4, 2020 by anonymous

Of course, thanks for your answer

I was thinking using a foward slash would be pretty logical, as Business use cases and actors are crossed, so for Business use cases, maybe (inspired by https://plantuml.com/en/use-case-diagram):

@startuml
(First Business usecase)/
(Another Business usecase)/ as (BUC2)
usecase/ BUC3
usecase/ (Last\nBusiness usecase) as BUC4
@enduml

As for Business actors:

@startuml
:First Actor:/
:Another\nactor:/ as Man2
actor/ Woman3
actor/ :Last actor: as Person1
@enduml

---

Or adding a B instead of a forward slash maybe? But I personally find it less visual and logical:

@startuml
(First Business usecase)B
(Another Business usecase)B as (BUC2)
usecaseB BUC3
usecaseB (Last\nBusiness usecase) as BUC4
@enduml

As for Business actors:

@startuml
:First Actor:B
:Another\nactor:B as Man2
actorB Woman3
actorB :Last actor: as Person1
@enduml

What do you think?

Thanks

commented Oct 5, 2020 by anonymous
Thank you for your response.

Regarding the synths, I was thinking of using a forward slash, I fond it it visually logical, as business use cases and actors are crossed:

for business use cases:

@startuml
(First usecase)/
(Another usecase)/ as (UC2)
usecase/ UC3
usecase/ (Last\nusecase) as UC4
@enduml

for business actors:

@startuml
:First Actor:/
:Another\nactor:/ as Man2
actor/ Woman3
actor/ :Last actor: as Person1
@enduml

what do you think?
commented Oct 5, 2020 by plantuml (295,760 points)

Your syntax makes sense.

So with last beta http://beta.plantuml.net/plantuml.jar you can now have :

@startuml
(First Business usecase)/
(Another Business usecase)/ as (BUC2)
usecase/ BUC3
usecase/ (Last\nBusiness usecase) as BUC4
:First Actor:/
:Another\nactor:/ as Man2
actor/ Woman3
actor/ :Last actor: as Person1
@enduml

This is not final :

  • As you can see, usecase drawing needs to be fixed. But right now we lost ourself in ellipse geometry since drawing a cross line into an ellipse is not that easy... any help on math is welcome :-)
  • Other users are welcome to give their opinion on the syntax.
commented Oct 5, 2020 by The-Lu (70,400 points)

Hello PlantUML team,

To be consistent (with actor definition [see on deployment-diagram]), could you also handle:

@startuml
:First Actor:/
"Person2"
"Person3"/
@enduml


[See on PlantUML online server]

and also the awesome actorStyle management:

@startuml
skinparam actorStyle awesome
"Use the application" as (Use)/
:User:/ --> (Use)
@enduml


[See on PlantUML online server]

and 2 other examples for the fun cheeky:

@startuml
"Use the application" as (Use)/
:User: --> (Use)
@enduml


[See on PlantUML online server]

And if we reverse the lines, we observe:

@startuml
:User: --> (Use)
"Use the application" as (Use)/
@enduml


[See on PlantUML online server]

wink

For helping & testing,
Regards,
Th.

commented Oct 14, 2020 by The-Lu (70,400 points)

Hello PlantUML team,

Another observation:

  • How you put the '/' on the long form usecase?

Like on:

@startuml
usecase UC1 as "You can use
several lines to define your usecase."

usecase UC2 [You can use
several lines to define your usecase.
]
@enduml


[See on PlantUML server]

If we test after

usecase/

or afer

UC1/
UC2/

We observe defect:


[See on PlantUML server]

Thanks for your support,
Regards,
Th

...