1

The question says it all, how can I build a visual representation of a plugin? I have the idea I should regard it as something else or just not display but I can't find any evidence (in high enough amount) to be sure of this.

Should I not display a plugin in my use case in any situation at all?

Do I need to represent a plugin as a package or actor instead? (If so what connection should I have, Include?)

Or should I just represent it as I would an interface?

Maybe I'm just off track here, last time I made a UCD was a year ago or something, it's all slipping away when you don't use stuff! So I wouldn't mind some "beginners" advice here :)

Proclyon
  • 526
  • 5
  • 12

1 Answers1

1

Use cases are for analysis, not design, therefore they should omit architecture structure. When you have a plugin, it is a system and therefore might be the system under development or an actor. If it is the system under development and use cases consider only this plugin, you show it using the boundary box in the diagram encompassing the use cases (some tools don't allow that, they make it implicit). Otherwise, if you have use cases which describe behaviour of the system, which interacts with the plugin, you depict the plugin as an actor.

Gabriel Ščerbák
  • 18,240
  • 8
  • 37
  • 52
  • so then how would I represent a dependancy? Those are only parts of a structure in which A needs B and that doesn't seem to fit the bill as analysis right ? – Proclyon Jan 27 '11 at 10:43
  • @Proclyon right, dependencies are relations, those are estabilished during structuring (design). For that you can use UML structure diagrams, e.g. class diagrams, composite structure diagrams etc. – Gabriel Ščerbák Jan 27 '11 at 12:00
  • @Proclyon on the other hand some sort of dependency (not exactly therelation from UML) would exist between the plugin as a system under development and other actors, because they interact with the system (the plugin in this case). So if you had other plugins as actors that would implicitly imply some dependency - some interface between them to interact (as e.g. human actor and software system imply there must be some UI). When you choose the plugin to be an actor, the opposite follows, therefore you have an implicit dependency between the system and the plugin interacting with it. – Gabriel Ščerbák Jan 27 '11 at 12:07