Bruce’s Top Ten Modeling Hints Secrets to Effective Modeling
Download
Report
Transcript Bruce’s Top Ten Modeling Hints Secrets to Effective Modeling
®
IBM Software Group
Bruce’s
Modeling Hints
The Secrets to Effective Modeling for Systems
Engineers
Dr. Bruce Powel Douglass, Ph.D.
Chief Evangelist, Global Technology Ambassador
IBM Rational
[email protected]
Twitter: @BruceDouglass
Yahoo: http://tech.groups.yahoo.com/group/RT-UML
Innovation for a smarter planet
© 2014 IBM Corporation
IBM Software Group | Rational software
Forget 7+/- 2
Rule: All diagrams should
contain 7 elements +/- 2
Psychological Review
1956
"The Magical Number Seven,
Plus or Minus Two: Some
Limits on Our Capacity for
Processing Information“
by George A. Miller
Innovation for a smarter planet
2
IBM Software Group | Rational software
Forget 7+/- 2
BUT: you don’t have to rely
on short term memory
The diagram is front of you!
Innovation for a smarter planet
3
IBM Software Group | Rational software
Forget 7 +/- 2 – Use Mission statements instead
Innovation for a smarter planet
4
IBM Software Group | Rational software
All models are abstractions but some are useful
Models
support deep
reasoning
Engineer
- tensile strength
- support strength
- stability
Office Designer
- color
- style
- feng shui
QA
- mapping
properties to
standards
Every model
should have
a purpose
and scope
Innovation for a smarter planet
Models
succeed to the
extent that they
allow us to
reason about
the world
User
- comfort
- adjustability
- mobility
Seller
- cost
- color
Manufacturer
- parts list
- materials
- assembly
Models
answer
questions
5
IBM Software Group | Rational software
Models are abstractions … but can be connected (Systems)
Power
Weight
Stability
Functional
Heat
Parametric models
Subsystems, interfaces,
Subsystem use cases/
Requirements
Architectural
Model
Trade study
Model
Trade study
Model
Subsystem
Model(s)
Dependability
Model
Safety, reliability,
and security analysis
FTA, FMEA, FEMCA,
Asset Diagram, SAD
Innovation for a smarter planet
Model and text
Trade study
Model
Model
Executable use cases
Functional and
QoS requirements
Mechanical
Specification
Electronic
Specification
Model and text
Control
Model
Control algorithms,
mathematical models
Software
Specification
Model and text
6
IBM Software Group | Rational software
Napkins models are almost completely useless.
Accuracy
Model
value
Precision
Innovation for a smarter planet
Completeness
7
IBM Software Group | Rational software
Napkins models are good way to start a conversation
But a terrible way to end one
Innovation for a smarter planet
8
IBM Software Group | Rational software
Requirements Models Avoid Early Defects
Why do we care so
much about getting
requirements
correct?
$1M
$10K
$30
Innovation for a smarter planet
9
IBM Software Group | Rational software
Systems Use Case Requirements Model
Innovation for a smarter planet
10
IBM Software Group | Rational software
ABS Braking Use Case Context Bock Diagram
Innovation for a smarter planet
11
IBM Software Group | Rational software
Normal Braking UC Block State Machine
Innovation for a smarter planet
12
IBM Software Group | Rational software
Normal Braking Sequence Diagram
Innovation for a smarter planet
13
IBM Software Group | Rational software
Model-Based Handoffs Preserve Fidelity
Downstream Engineering Model
Systems Engineering Model
Innovation for a smarter planet
14
IBM Software Group | Rational software
Handoff Workflow
Hand off elements
common to
multiple
subsystems to the
shared model
Innovation for a smarter planet
Hand off
specification
elements to
individual
subsystems
Allocate
requirements to
engineering
disciplines
15
IBM Software Group | Rational software
Only 3 (+1) Diagram Types are Required
3(+1) Required diagrams
UML is complex!
Are all you need
Innovation for a smarter planet
16
IBM Software Group | Rational software
High-Fidelity Key Modeling Views
State Diagram
Class (“Block”) Diagram
Flow Diagram
Sequence Diagram
Innovation for a smarter planet
17
IBM Software Group | Rational software
Design Patterns Reuse Proven Solutions
Are generalized
solutions to
common problems
Allow us to
leverage other’s
design experience
Optimize some
properties at the
expense of others
Can be applied at
multiple levels of
design
Innovation for a smarter planet
18
IBM Software Group | Rational software
Connect Work Products with Traceability Links
We create many different work products
Safety analysis, Requirements, Architecture, Design, Source Code, Test suites, …
But they all need to tell the same story (from their own perspective and needs)
You must be able to show
Consistency
Completeness
Innovation for a smarter planet
IBM Software Group | Rational software
Traceability
Traceability serves a number of purposes
It allows impact analysis – what is the impact if I change this element?
It allows for coverage analysis – are all elements realized
It allows for consistency analysis – are these different elements in different work products
consistent and compatible with each other?
Design / Implementation Elements
Requirements
D1
R1
D2
D3
D4
x
D5
x
Unimplemented
requirement
R2
R3
R4
x
x
Gold plating?
Innovation for a smarter planet
20
IBM Software Group | Rational software
It is better to avoid defects than to fix defects
The Plan
Planned FOC
The Reality
Time to IOC
“Product Stabilization”
Not Ready
Tests fail
Wrong product
21
Innovation for a smarter planet
IBM Software Group | Rational software
It is better to avoid defects than to fix defects
Year
Safety, Reliability &
Security Practices
Verification
month
Customer
Validation
hour
Continuous
Verification
Trade
Studies
Project
Management
practices
SE
Modeling
Iterative
Specification
Nanocycle
Customer
Liaison
Practices
Architecting
Iteration
Project
Innovation for a smarter planet
Quality
Assurance
Practices
IBM Software Group | Rational software
It is better to avoid defects than to fix defects
[more requirements]
hour
Continuous
Verification
SE
Modeling
Nanocycle
[else]
Build the work product in nanocycles
with continuous verification
Innovation for a smarter planet
23
IBM Software Group | Rational software
The ONLY WAY to ensure Quality is Continuous Verification
Requirements are correct IFF they correctly
represent the inputoutput control and data
transformations and their performance properties
Requirements don’t specify the design or means by
which the transformations are accomplished
Innovation for a smarter planet
24
IBM Software Group | Rational software
The ONLY WAY to ensure Quality is Continuous Verification
Requirements are correct IFF they correctly
represent the inputoutput control and data
transformations and their performance properties
We want to ensure the requirements are
correct before designers, implementers
and testers use them so that we can avoid
rework and the high cost of defects
How can we do that????
Requirements don’t specify the design or means by
which the transformations are accomplished
Innovation for a smarter planet
25
IBM Software Group | Rational software
The ONLY WAY to ensure Quality is Continuous Test
High-fidelity models can be verified with testing AND formal analysis
Innovation for a smarter planet
26
IBM Software Group | Rational software
References
Innovation for a smarter planet
27