There are so many types of diagrams in UML. I am little confused about which one to use for what.
I designed a 3-tier architecture for my web application software using UML Component Diagram. Please see the attached image and tell me if I'm doing this right or wrong. Is this a good idea to use Component Diagram for this architecture?

- 101
- 2
- 14
2 Answers
Basically I agree with @KeizerHarm's answer. However, there's a flaw in your diagram. Rather than packages you should use components since you put ports on their boundary. A port is not allowed for packages, but for components it is. Alternatively place the ports on the components inside the packages. The wiring can just cross the border of the packages:

- 35,448
- 8
- 62
- 86
-
I used lucidchart. They use package just like how I did. Here you can see in their documentation. https://imgur.com/a/k1sezWo – Tanjil Jun 04 '18 at 16:18
-
1Maybe. But that pic in the docu is even more wrong. You need to reference OMG's UML: https://www.omg.org/spec/UML/2.5/About-UML/ – qwerty_so Jun 04 '18 at 20:08
I have made component diagrams like that many times before. Usually I draw another box around the whole thing to make it clear that it's part of the same system, but there's nothing wrong with this in the proper context.
I would perhaps suggest naming your interfaces, or at least making it clear what they do from an accompanying description. And Backend Application Server (Apache)
seems to require the same interface from an internal and an external component, the former unfilled, which I wouldn't do myself as it seems to imply you can substitute or complement the Database
with something inside the Business layer that is left unspecified?

- 330
- 1
- 4
- 22