Some notes on the decisions made here.
Question | Answer |
---|---|
Why is Starship associated to CrewMember via
aggregation? |
Because a Starship has 0 or more crew members and crew
members aren't dependent on a Starship to exist. It is possible for a
crew member to not be assigned to any
Starship .
|
Why is Fleet associated to Starship via aggregation?
|
Same reason as the previous. It is possible for a fleet to exist in name only without any Starships contained within at all. A fleet is quite literally an aggregation of any n number of ships in the first place anyhow. |
Why does Lab2 with its main method have a dependency
relationship with Fleet ? |
Because a near identical example of this relationship was in the slides. We will
primarily use it for classes referenced in |
Why don't you show associations/other connections to Java standard library classes like
ArrayList ?
|
Because we can keep going down that rabbit hole until infinity (or by my count in my IDE ~5 - 6 levels of
indirection from any given Java standard lib class to the bottom of the chain). I'm not interested in showing
the full diagram all the way down until we hit the base Object class. |
Your answers are wrong and you should feel bad.
Them's fighting words, and I have a
whole hill here to defend and die upon, sword gleaming in the midnight sun.
The actual UML diagram below: