Lesson and Learned from a Requirments Elicitation

ステーキホルダーの非機能要求
を充足するための振る舞い仕様
の段階的改訂法
海谷 治彦
信州大学
2001年9月 宇和島にて
1
Outline
• Goal of our Work.
– Constructing a Requirements Elicitation Method.
• Basic idea for our Goal.
• Sub goals and their solutions.
– Notation for evaluating spec. by multiple stakeholders.
– Method for causing a chain of spec. change.
– Method for merging several chains.
• Example
2
Goal of our Work
• Constructing a Requirements Elicitation
(RE) Method.
• Domain of the method.
– Multiple Stakehodlders (SH)
– Motivation to introduce Info. Tech. (IT)
– Existence of the Current Task (CT)
• Interactive System: WBS, UIS
• A case without a computer system support.
• Another case with a computer system support.
3
Basic Idea
• Stepwise Introduction of IT(=Change) to CT.
– SH’s Evaluation of the Change.
– Such Eval. triggers the other Changes.
• Reasonable Trade-off among the SH’s.
– Shared Criteria for SHs to Change Evaluation.
• Concurrent RE for Efficiency.
4
Sub goals of our Work
1. Develop a notation for SH’s Evaluation.
2. Develop a procedure for causing a chain
of IT introduction.
•
IT introduction => CT change
=> SH eval. change = >Specification refinement
3. Develop a procedure for merging such
chains safely for concurrent RE.
5
Notation of Spec.
• Sequence Diagram
for representing Requirements Spec.
– Easy to capture the interaction among the SHs.
– Easy to Understand ordinary people.
– Behavioral Aspect is important for interactive
system.
6
NFR for shared Criteria
• Non-Functional Requirements (NFR)
– shared by stakeholders to evaluate a change of CT.
• Type of NFR
–
–
–
–
Performance: Time and Space
Cost.
User-Friendliness.
Security: Confidentiality, Integrity, Availability.
• And additional criteria.
– Ease: delegation of a task to systems.
7
Stakeholders
• Have a stake in the change being considered,
those who stand to gain from it, and to lose.
• Categories of SH in computer systems.
– Those who are responsible for its design and
development.
– ... for its sales or for its purchase.
– ... for its introduction and maintenance.
– Those who have an interest in its use.
8
A notation for SH’s Evaluation
Evaluation Table
Label of a change
List of Stakeholders
Contributer
Conf.
Avail.
Acc.
Time
List of
Resuiremqnts
types
A + Spend
enough
time to
write a
paper
Chair
Committee
Reviewer
+ Satisfaction
- Dissatisfaction
Content of this
(dis)satisfaction
Ease
+
Total
Satisfaction
Score
1
0
1
Total
Dissatisfaction
Score
Subtotal Total
Quantitative Evaluation can be accomplished!
9
Chain of Requirements Change
(CRC)
1. Write an Initial Specification of CT.
2. A SH states his advantages and
disadvantages of the spec.
3. Change the spec. so as to eliminate
disadvantages.
4. Other SHs state them in the same way.
5. Change the spec. in the same way.
6. Back to the Step2.
10
Current Task
Overview
of our
RE Proc.
in Chain
Creation
A Stakeholder
Initial
Spec.
Other
Stakeholders
Eval. Table
Eval. Table
-
+
Refined
Spec.
Eval. Table
-
+
+
+
-
11
Example of a part of Chain
Operator
Spec. X
Conf.
Avail.
Acc.
Time
Op. have
disadv. in X
X -
Customer
Wait long time
Ease
Elim. the
disadv.
+
-
0
1
1
Operator
Spec. Y
Conf.
Avail.
Acc.
Time
Evaluation is
quantitatively
up.
Customer
X - Wait long time
Y +
Ease
+
-
1
0
1
12
Merge Chains for Concurrent RE
• Multiple SHs: Concurrent RE is efficient.
• We should safely merge the results of RE.
• Precondition of our merge procedure.
– Sequence Diagram: notation for spec.
– The inputs are two chains.
– Two chains share the same initial Spec.
• Postcondition
– Merged Spec. and Evaluation Table.
13
Two Step of Merge Method
• Horizontal Check
– Consistency in the topology among the objects.
• Collaboration Diagram
• Vertical Check
– Consistency in causal relations.
• Retrying by shortening a chain.
– if inconsistency is found.
• Evaluation score is of course decreased.
14
Overview
Chain of
of
A
Merge
Proc.
initial
spec.
refined
spec. A0
refined
spec. B0
eval. tablea
refined
spec. A1
eval. table
I
refined
spec. B1
eval. table
eval. table
A
generate
diagram
use the diagram
for the check
refined
spec. A
eval. table
Chain of B
Inputs
B
IB
IA
refined
spec. B
eval. table
Hori. Check
Vert. Check
Collaboration
diagram
refined Spec. A+B
eval. table A+B
Outputs
15
Horizontal Check
• Checking the inconsistency of relationships
among the objects.
– Convert sequence diagram to collaboration
diagram.
• No relationship in an initial diagrams is
changed in the different way in each refined
diagrams.
16
Example of Horizontal Check
Contributor
Initial Spec.
CFP
refinement
A, B, C, D
paper ack.
abst. ack.
of abst.
of abst.
legend:
cut path.
add path.
Chair
abst.
list
Reviewer
Candidate
Committee
Spec. D
refinement
X, Y
Spec. Y
Contributor
Contributor
Chair
Chair
abst. list’
Committee
Committee
17
Vertical Check
•
•
Checking the consistency in causal
relations among the messages.
Not all messages need not be checked,
check the following kind of messages.
1. Messages in both initial spec. and spec. A, but
modified in spec. B.
Init. Spec
2. Messages only in spec. B.
RE chain
Check this by replacing A and B. RE chain
Spec. A
Spec. B
18
Example of Vertical Check
Contributor
Initial Spec.
paper ack.
abst. ack.
of abst.
of abst.
CFP
refinement
A, B, C, D
abst.
list
Reviewer
Candidate
Spec. D
Chair
add path.
Chair
Committee
Contributor
legend:
cut path.
refinement
X, Y
Spec. Y
Only check the
inconsistency
in Y
Contributor
Chair
abst. list’
Committee
Committee
19
Conclusion
• Stepwise refine the Spec.
• Quantitative Evaluation of each step based
on the stakeholders’ intention.
• Enable the Concurrent Elicitation by merge
step.
20
Q&A
• 何故,横チェックを先にやるか?
– 横チェックの方が楽なため。
– 横チェックを基に縦チェックをする個所を絞れる。
• シーケンス図にはSHでないものも出てくるがどう
するか?
– シーケンス図のオブジェクトと評価表の列側は一応別
個と考え,オブジェクトはSHに限らず自由に選んでよ
いことにする。
– 仕様の変化とステーキホルダの評価の関係が曖昧と
なるが,そもそも主観的評価に基づくので問題ない。
21
Future Work
• Prioritize stakeholders and/or NFR for
evaluation.
• Quantitative comparison for selecting the
reasonable chain of specification change.
• Building an Estimation Method: estimating
the introducing effort.
• Applying a realistic problem and/or
development.
22
Appendix
23
Time Keeper
Gathering
System
Contributer
Fiter
System
Chair
Committee
Reviewer
* Send CFP
* Send abst
Ack.
Write
abst.
Write
paper
Gather
abst.
* Request
reviewer
Gather
papers
*take on
reviewer
* Send paper
Ack.
Submission
Limit
* Send
paper list
*back rev.
candidates
Spec. D
24
Time Keeper
Contributer
Format
Checker
Gathering
System2
Chair
Committee
Reviewer
* Send CFP
* Send abst
Ack.
Gather
abst.
Write
abst.
Gather
papers
Write
paper
* Send paper
Fmt nack.
Submission
Limit
Spec. Y
Ack.
* Send
paper list
*back rev.
candidates
* Request
reviewer
*take on
reviewer
25