Package Diagram Legend
Note
Packages are simply depicted as a tabbed folder with an empty package (with no elements) having it's name in the center.

When details are needed (means it contains elements) you can:
- Nest the element in the folder

- Connect them

- List them
A package containing elements is called a composition, Notice in the above example that plus (+) and minus (-) signs have been used to indicate if elements are public or private. Public elements can be accessed outside of the package by their fully qualified names.
Now how do we denote relationships between Packages?
Relationships are denoted through dotted-line arrows, A package can import an element from another package, as in the example below where the Level package is importing Location from the Player package.
This brings the name Location into the Level namespace, particularly for convenient use by elements in Level. As the import tag is public (Import), the name is visible for further import through the Level package and they mostly interact with each other.
If a tag was private (Access), the name would only be visible by elements within the Level namespace and not further outside and deals with packages needing communication with outside actors like an online server.

you can also merge related packages into one package since Vendors and quest-givers are both non-playable characters
Bonus level is special since it has a uses relationship with the level package, the uses relationship implies that bonus level requires level to be fully implemented.
if there is no definition for level then there cannot be a definition for bonus level.
