1

I've developed a heterogeneous application which takes advantage of service oriented architecture. It consists of many components which are different in code and run in different platforms (example: an Android Client, a WP8 Client, a Web Server, a Desktop Client, a Website).

Now I'm trying to document that I have concluded to put each component in a separate subsystem. But I have come across the question of whether putting DLLs also in subsystems or not. This application consist of many DLL files and I can't really decide on this. I also have another question, since the main applications need to make use of class libraries like DLL, if I wanna show this relationship in the use case (all function in the main apps rely on the function in the DLL, and the functions in the DLL files cannot be executed separately), so is this "Include" or "Extend".

For example:

DLL A = Generates Machine ID

Desktop App uses the DLL A to register the Machine

So is this "Extend" or "Include" (I think include is right but wanna double check)

JAX
  • 1,540
  • 3
  • 15
  • 32
  • Use case diagram is not designed to document DLLs and their deployment. So it will be neither extend nor include. Use http://www.uml-diagrams.org/deployment-diagrams-examples.html and http://www.uml-diagrams.org/package-diagrams-examples.html instead – xmojmr Sep 14 '14 at 12:54

1 Answers1

1

Depicting DLL-s in use case level is not something you do every day. I would forget about DLL and I would just simply write what those specific DLLs do (if somebody from "business" reads your documentation, he or she would not care about DLLs anyway, if this is a technical documentation, use Deployment or component diagram for this purpose). From my understanding all DLLs do the same but runs on different platform, am I correct? If so, then just draw one use case and use include. Why include, not extend? Extend is for eg. there is a use case which comprises other steps on specific condition whereas include means that specific use case is the same in different use cases.

Bela Vizer
  • 2,527
  • 22
  • 26
  • Thanks, I agree with you, however DLLs are targeted for Microsoft platform only. Will accept your answer, I personally don't think, use-case has anything to do with showing the DLLs. – JAX Sep 13 '14 at 23:45
  • I came across one more question, when one function in a subsystem needs to use another function in a different subsystem, should I still use Extend or Include or I have to directly relate them by drawing a line ? Like when the register functions needs to communicate with a REST API – JAX Sep 14 '14 at 00:04
  • I always use relationship "modifier" in cases like this, so extend or include not just a "pure line" – Bela Vizer Sep 14 '14 at 01:33