Prof. Dr. Michael Gerndt Technische Univeristät München [email protected]
Tyutyunnick Pavel ([email protected]), Stefan Puchner...
Transcript of Tyutyunnick Pavel ([email protected]), Stefan Puchner...
Tyutyunnick Pavel ([email protected]), Stefan Puchner ([email protected])
Steklov Institute St. Petersburg, Technical University München
JASS 2006
Advanced Topics in Software Engineering
Rationale Management
2 JASS 2006 (02.-12.04.2006) - Rationale Management
Motivation
Example:
Slicing Ham
3 JASS 2006 (02.-12.04.2006) - Rationale Management
What is Rationale Management?
• RationaleJustification for decisions
• Rationale ManagementCapture and organize rationales in
• Problem• Possible solutions• Arguments• Criteria• Decision
• Other models tell how – rationale tells why
4 JASS 2006 (02.-12.04.2006) - Rationale Management
Why Rationale Management? (I)
• Improves Decision making process:– Explicitly splits decision making process into its
elements (criteria, priorities, …)– Therefore enables more educated decisions
• Makes later changes easier and safer:– Captures knowledge that is not included elsewhere and
makes it reusable– Reminds developers of requirements that need to be
considered
5 JASS 2006 (02.-12.04.2006) - Rationale Management
Why Rationale Management? (II)
• Helps new developers– Keeps the reasoning reproducible and comprehensible
for third persons– Explains why the model is as it is
• Problems– Big investment for gathering and maintaining additional
information– Rationale models get very large
6 JASS 2006 (02.-12.04.2006) - Rationale Management
Transfer Question
Example:
Cookbook
7 JASS 2006 (02.-12.04.2006) - Rationale Management
Elements of a rationale
• Issueunsolved question
• Proposalpossible solutions to issue
• Criterionqualities proposals should have
• Argumentdiscussion for/against proposalssupported by criteria
• Resolutionselected solution to issue
8 JASS 2006 (02.-12.04.2006) - Rationale Management
Representation of rationales - example
storage?:Issue
database:Proposal
storage in database:Resolution
files:Proposal
which Database?:Issue
flexibility$:Criterion simplicity$:Criterion
extensibility-first:Argument
addressed by
resolves
addressed by
fails fails
meets meets
is supported by
is opposed by
raises
9 JASS 2006 (02.-12.04.2006) - Rationale Management
Where can rationales be captured?
• Requirements analysisUseful for developing test cases
• System designLinks nonfunctional requirements to design goals (important if requirements change)
• Project managementDocuments alternatives and risks, can provide fallback solutions
• Integration and testingDetermine which decision created conflict
10 JASS 2006 (02.-12.04.2006) - Rationale Management
Levels of rationale capture
• No explicit rationale captureRationale in E-mails, memos, memories …
• Rationale reconstructionCapture rationale afterwards / less detail
• Rationale captureRationale model besides other models
• Rationale integrationRationale is central model
11 JASS 2006 (02.-12.04.2006) - Rationale Management
Capturing Rationale Activities
• MeetingsTake minutes, decompose into elements of rationales
• Electronic communicationIntegrate rationale model into groupware
• ChangesAdapt rationale model, new resolutions
• Reconstructing rationaleConstruction of rationale model based on memory and actual system model
12 JASS 2006 (02.-12.04.2006) - Rationale Management
Managing rationale
Rationale management hardly used in industry– Additional effort– No direct connection between effort and benefit
subject for management
• Include rational model in development tools• Assign Responsibilities
– Minute taker– Rationale editor– Reviewer
13 JASS 2006 (02.-12.04.2006) - Rationale Management
Summary
Capturing rationale model is– great effort but has– huge benefits
Goal:
Improvements in capturing and maintaining rationales to make rational management more common
14 JASS 2006 (02.-12.04.2006) - Rationale Management
Conservative view & optimization
• The major goals of management• Traditional management models• Difference between models• Optimization examples• Rational management implementation
Rational models integration experience
15 JASS 2006 (02.-12.04.2006) - Rationale Management
Questions ?
Source:
B. Bruegge & A. Dutoit.Object-Oriented Software Engineering(Second edition, International edition)
Pearson Prentice Hall, 2004.