Lecture 8 - Design Modeling Techniques
UML Component Diagram
- Class diagram with stereotype <<component>> - Way to identify larger entities - Components are connected by interfaces - Similar in style and concept to architecture diagram
Finite State Machines
- Models system in terms of states, and transitions between those states - Depicted as state transition diagrams: each state is bubble, each transition is labeled arc from one state to another
viewpoints
- different coordinated models, each capturing a subset of the design decisions - views can contain overlapping and related design decision - can be inconsistent if 2 design decisions cannot simultaneously be true
What to Model?
1. What system aspects should be modeled 2. At what level of detail 3. With how much rigor or formality Cost/benefit decisions: The benefits of creating and maintaining software system models must exceed the cost of doing so Need to make lots of smaller designs = We call the subset-model a 'view' and the concern (or criteria) a 'viewpoint'
UML Static Diagrams
Depict static structure Class, Component, Deployment, Interaction overview, Object Package
UML Class Diagram
Depicts static structure of a system Describes classes in OO sense
UML - Associatons
Does not distinguish attributes and relationships, both are properties of a class
UML Interaction Diagrams: Communication
Emphasizes objects and their relationships
UML Interaction Diagrams: Sequence
Emphasizes ordering of events using a lifeline
Traditional Modeling Techniques
Entity-relationship modeling Finite state machines Data flow diagrams
ERM - Attributes
Intrinsic properties; do not depend on each other, they are descriptive
ERM - Relationships
Mutual properties, such as the membership of a person of some organization
Actor
Represents a person or role that will use your system
UML Use Case Diagram
Represents possible ways user will interact with a system Shows high-level activities organized by goal Decompose activities so that there is no redundancy or overlap of activities Included - use case is called every time a basic path is run Extend - the behavior of another use case
UML Dynamic Diagrams
Show what happens during execution Activity, Communication, Composite structure, Sequence, State machine, Timing, Use case
UML State Machine Diagram
Usually allows for local variables of states Has external inputs and outputs Allows for hierarchical states
Entity-Relationship Modeling
entity: distinguishable object of some type entity type: category of entities attribute value: piece of information describing an entity attribute: category of attribute values relationship: association between two or more entities
Relationship Between Objects: Whole-Part
has aggregation of parts into a whole ex/ dog has legs
Relationship Between Objects: Member-of
has relationship between a set and its members (not transitive) ex/ team has players
Relationship Between Objects: Specialization-generalization
is-a expressed in hierarchy ex/ dog is an animal