Design
Objectives
• Friday– Rough draft of your SRS document– Introduction, Features (Functional / Non-
functional), Interfaces– Prepare for presenting the next week
• UML!– Look at the pretty pictures…
Design
Class Diagram
• Members– Visibility (+ for public, - for private)
• Methods– Parameters/types
• Relationships– Association (Line with X..*)– Aggregation (Diamond + line)
• Inheritance (Arrow to parent)
wikipedia
Design
Component
• What depends on what• Interfaces that certain components
provide(higher level abstraction than a class)– VR example
• Doesn’t list parameters • Shows the flow of how different
components work together
Design
Composite
• Opposite of component• Need a detailed graphical layout of
how a class / function interacts?• Parts that are used at runtime• Ports that shuttle ports around
wikipedia
Design
Deployment
• What servers are there• How are they connected at a high
level• Nodes– Device node– Execution Environment Node
Design
Object
• Focuses on a class– Shows the attributes of a class– Also shows links between classes
• More formalized example code for setting up an object / associations / aggregations
wikipedia
Design
Packages
• Another higher level what depends on what tool
• Goes from what jar file depends on another, to servers / software, to use cases
• Use if you need to see how high level components fit together
Design
Behavior
• Once you have the pieces described, how do they act together
• Types– Activity– State machine– Use cases
• Interaction has its own parts
Design
Activity
• Workflow describer• Starting point, arrows to next
activities• Symbols– Rectangle = activity– Diamond = decision– Bars for parallel activities– Circle to start, double circle to end (filled
in)
Design
State machine
• More descriptive than a workflow– Input– Boolean conditions
• Example– Logged in– Not logged in
• Precondition / Postcondition
Design
Interaction
• By now, you’ve seen that UML can be extremely excessive
• Graphical representation for the whole spectrum
• Interaction diagrams show how classes / parts of the system interact– TCP/IP protocol